<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<title>History - minitest: Ruby Standard Library Documentation</title>


<script src="../js/navigation.js" defer></script>
<script src="../js/search.js" defer></script>
<script src="../js/search_index.js" defer></script>
<script src="../js/searcher.js" defer></script>
<script src="../js/darkfish.js" defer></script>

<script src="../js/jquery-3.2.0.min.js"></script>

<script src="../js/vue.min.js"></script>
<script src="../js/js.cookie.min.js"></script>

<link href="../css/fonts.css" rel="stylesheet">
<link id='rdoccss' href="../css/rdoc.css" rel="stylesheet">
<link href="../css/carbon17.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "../";
  var index_rel_prefix = "../";
  var darkModeCsseHref = "../css/rdoc-dm.css"
  var defaultModeCssHref = "../css/rdoc.css"
  // var cssDarkmode = Cookies.get('darkmode');
  
  if( Cookies.get("darkmode") == "true") {
	$('#rdoccss').attr("href", darkModeCsseHref);
}

//  https://cssdeck.com/blog/simple-jquery-stylesheet-switcher/

document.write('<style type="text/css">body{display:none}</style>');

</script>


</head>
<body id="top" role="document" class="file">
  <!-- this is page.html -->
  <div id='actionbar' >
    <div class='wrapper mdiv'>
      <ul class='grids g0'></ul>
    </div> 
    <!-- VERSION HEADER for 3.3.0.preview2 NOT FOUND -->
  </div> <!-- end action bar -->


 <div class='wrapper hdiv'>

 


<nav id='vapp' role="navigation">
  <div id="project-navigation">
    <div id="home-section" role="region" title="Quick navigation" class="nav-section">
  <h2><a href="../index.html" rel="home">Home</a></h2>

  <div id="table-of-contents-navigation"  >
    <a href="../table_of_contents.html#pages">Pages</a>
    <a href="../table_of_contents.html#classes">Classes</a>
    <a href="../table_of_contents.html#methods">Methods</a>
  </div>
</div>

    <div id="search-section" role="search" class="project-section initially-hidden">
  <form action="#" method="get" accept-charset="utf-8">
    <div id="search-field-wrapper">
      <input id="search-field" role="combobox" aria-label="Search"
             aria-autocomplete="list" aria-controls="search-results"
             type="text" name="search" placeholder="Search" spellcheck="false"
             title="Type to search, Up and Down to navigate, Enter to load">
    </div>

    <ul id="search-results" aria-label="Search Results"
        aria-busy="false" aria-expanded="false"
        aria-atomic="false" class="initially-hidden"></ul>
  </form>
</div>

  </div>

  
<div class="nav-section">
  <h3>Table of Contents</h3>

  <ul class="link-list" role="directory">
    <li><a href="#label-5.20.0+-2F+2023-09-06">5.20.0 / 2023-09-06</a>
    <li><a href="#label-5.19.0+-2F+2023-07-26">5.19.0 / 2023-07-26</a>
    <li><a href="#label-5.18.1+-2F+2023-06-16">5.18.1 / 2023-06-16</a>
    <li><a href="#label-5.18.0+-2F+2023-03-04">5.18.0 / 2023-03-04</a>
    <li><a href="#label-5.17.0+-2F+2022-12-31">5.17.0 / 2022-12-31</a>
    <li><a href="#label-5.16.3+-2F+2022-08-17">5.16.3 / 2022-08-17</a>
    <li><a href="#label-5.16.2+-2F+2022-07-03">5.16.2 / 2022-07-03</a>
    <li><a href="#label-5.16.1+-2F+2022-06-20">5.16.1 / 2022-06-20</a>
    <li><a href="#label-5.16.0+-2F+2022-06-14">5.16.0 / 2022-06-14</a>
    <li><a href="#label-5.15.0+-2F+2021-12-14">5.15.0 / 2021-12-14</a>
    <li><a href="#label-5.14.4+-2F+2021-02-23">5.14.4 / 2021-02-23</a>
    <li><a href="#label-5.14.3+-2F+2021-01-05">5.14.3 / 2021-01-05</a>
    <li><a href="#label-5.14.2+-2F+2020-08-31">5.14.2 / 2020-08-31</a>
    <li><a href="#label-5.14.1+-2F+2020-05-15">5.14.1 / 2020-05-15</a>
    <li><a href="#label-5.14.0+-2F+2020-01-11">5.14.0 / 2020-01-11</a>
    <li><a href="#label-5.13.0+-2F+2019-10-29">5.13.0 / 2019-10-29</a>
    <li><a href="#label-5.12.2+-2F+2019-09-28">5.12.2 / 2019-09-28</a>
    <li><a href="#label-5.12.1+-2F+2019-09-28">5.12.1 / 2019-09-28</a>
    <li><a href="#label-5.12.0+-2F+2019-09-22">5.12.0 / 2019-09-22</a>
    <li><a href="#label-5.11.3+-2F+2018-01-26">5.11.3 / 2018-01-26</a>
    <li><a href="#label-5.11.2+-2F+2018-01-25">5.11.2 / 2018-01-25</a>
    <li><a href="#label-5.11.1+-2F+2018-01-02">5.11.1 / 2018-01-02</a>
    <li><a href="#label-5.11.0+-2F+2018-01-01">5.11.0 / 2018-01-01</a>
    <li><a href="#label-5.11.0b1+-2F+2017-12-20">5.11.0b1 / 2017-12-20</a>
    <li><a href="#label-5.10.3+-2F+2017-07-21">5.10.3 / 2017-07-21</a>
    <li><a href="#label-5.10.2+-2F+2017-05-09">5.10.2 / 2017-05-09</a>
    <li><a href="#label-5.10.1+-2F+2016-12-01">5.10.1 / 2016-12-01</a>
    <li><a href="#label-5.10.0+-2F+2016-11-30">5.10.0 / 2016-11-30</a>
    <li><a href="#label-5.9.1+-2F+2016-09-25">5.9.1 / 2016-09-25</a>
    <li><a href="#label-5.9.0+-2F+2016-05-16">5.9.0 / 2016-05-16</a>
    <li><a href="#label-5.8.5+-2F+2016-09-25">5.8.5 / 2016-09-25</a>
    <li><a href="#label-5.8.4+-2F+2016-01-21">5.8.4 / 2016-01-21</a>
    <li><a href="#label-5.8.3+-2F+2015-11-17">5.8.3 / 2015-11-17</a>
    <li><a href="#label-5.8.2+-2F+2015-10-26">5.8.2 / 2015-10-26</a>
    <li><a href="#label-5.8.1+-2F+2015-09-23">5.8.1 / 2015-09-23</a>
    <li><a href="#label-5.8.0+-2F+2015-08-06">5.8.0 / 2015-08-06</a>
    <li><a href="#label-5.7.0+-2F+2015-05-27">5.7.0 / 2015-05-27</a>
    <li><a href="#label-5.6.1+-2F+2015-04-27">5.6.1 / 2015-04-27</a>
    <li><a href="#label-5.6.0+-2F+2015-04-13">5.6.0 / 2015-04-13</a>
    <li><a href="#label-5.5.1+-2F+2015-01-09">5.5.1 / 2015-01-09</a>
    <li><a href="#label-5.5.0+-2F+2014-12-12+-2F-2F+mri+2.2.0+-28as+a+real+gem-29">5.5.0 / 2014-12-12 // mri 2.2.0 (as a real gem)</a>
    <li><a href="#label-5.4.3+-2F+2014-11-11">5.4.3 / 2014-11-11</a>
    <li><a href="#label-5.4.2+-2F+2014-09-26">5.4.2 / 2014-09-26</a>
    <li><a href="#label-5.4.1+-2F+2014-08-28">5.4.1 / 2014-08-28</a>
    <li><a href="#label-5.4.0+-2F+2014-07-07">5.4.0 / 2014-07-07</a>
    <li><a href="#label-5.3.5+-2F+2014-06-17">5.3.5 / 2014-06-17</a>
    <li><a href="#label-5.3.4+-2F+2014-05-15">5.3.4 / 2014-05-15</a>
    <li><a href="#label-5.3.3+-2F+2014-04-14">5.3.3 / 2014-04-14</a>
    <li><a href="#label-5.3.2+-2F+2014-04-02">5.3.2 / 2014-04-02</a>
    <li><a href="#label-5.3.1+-2F+2014-03-14">5.3.1 / 2014-03-14</a>
    <li><a href="#label-5.3.0+-2F+2014-02-25">5.3.0 / 2014-02-25</a>
    <li><a href="#label-5.2.3+-2F+2014-02-10">5.2.3 / 2014-02-10</a>
    <li><a href="#label-5.2.2+-2F+2014-01-22">5.2.2 / 2014-01-22</a>
    <li><a href="#label-5.2.1+-2F+2014-01-07">5.2.1 / 2014-01-07</a>
    <li><a href="#label-5.2.0+-2F+2013-12-13">5.2.0 / 2013-12-13</a>
    <li><a href="#label-5.1.0+-2F+2013-12-05">5.1.0 / 2013-12-05</a>
    <li><a href="#label-5.0.8+-2F+2013-09-20">5.0.8 / 2013-09-20</a>
    <li><a href="#label-5.0.7+-2F+2013-09-05">5.0.7 / 2013-09-05</a>
    <li><a href="#label-5.0.6+-2F+2013-06-28">5.0.6 / 2013-06-28</a>
    <li><a href="#label-4.7.5+-2F+2013-06-21+-2F-2F+mri+2.1.1">4.7.5 / 2013-06-21 // mri 2.1.1</a>
    <li><a href="#label-5.0.5+-2F+2013-06-20">5.0.5 / 2013-06-20</a>
    <li><a href="#label-5.0.4+-2F+2013-06-07">5.0.4 / 2013-06-07</a>
    <li><a href="#label-5.0.3+-2F+2013-05-29">5.0.3 / 2013-05-29</a>
    <li><a href="#label-5.0.2+-2F+2013-05-20">5.0.2 / 2013-05-20</a>
    <li><a href="#label-5.0.1+-2F+2013-05-14">5.0.1 / 2013-05-14</a>
    <li><a href="#label-5.0.0+-2F+2013-05-10">5.0.0 / 2013-05-10</a>
    <li><a href="#label-4.7.4+-2F+2013-05-01">4.7.4 / 2013-05-01</a>
    <li><a href="#label-4.7.3+-2F+2013-04-20">4.7.3 / 2013-04-20</a>
    <li><a href="#label-4.7.2+-2F+2013-04-18">4.7.2 / 2013-04-18</a>
    <li><a href="#label-4.7.1+-2F+2013-04-09">4.7.1 / 2013-04-09</a>
    <li><a href="#label-4.7.0+-2F+2013-03-18">4.7.0 / 2013-03-18</a>
    <li><a href="#label-4.6.2+-2F+2013-02-27">4.6.2 / 2013-02-27</a>
    <li><a href="#label-4.6.1+-2F+2013-02-14">4.6.1 / 2013-02-14</a>
    <li><a href="#label-4.6.0+-2F+2013-02-07">4.6.0 / 2013-02-07</a>
    <li><a href="#label-4.5.0+-2F+2013-01-22">4.5.0 / 2013-01-22</a>
    <li><a href="#label-4.4.0+-2F+2013-01-07">4.4.0 / 2013-01-07</a>
    <li><a href="#label-4.3.3+-2F+2012-12-06">4.3.3 / 2012-12-06</a>
    <li><a href="#label-4.3.2+-2F+2012-11-27+-2F-2F+mri+2.0.0">4.3.2 / 2012-11-27 // mri 2.0.0</a>
    <li><a href="#label-4.3.1+-2F+2012-11-23">4.3.1 / 2012-11-23</a>
    <li><a href="#label-4.3.0+-2F+2012-11-17">4.3.0 / 2012-11-17</a>
    <li><a href="#label-4.2.0+-2F+2012-11-02">4.2.0 / 2012-11-02</a>
    <li><a href="#label-4.1.0+-2F+2012-10-05">4.1.0 / 2012-10-05</a>
    <li><a href="#label-4.0.0+-2F+2012-09-28">4.0.0 / 2012-09-28</a>
    <li><a href="#label-3.5.0+-2F+2012-09-21">3.5.0 / 2012-09-21</a>
    <li><a href="#label-3.4.0+-2F+2012-09-05">3.4.0 / 2012-09-05</a>
    <li><a href="#label-3.3.0+-2F+2012-07-26">3.3.0 / 2012-07-26</a>
    <li><a href="#label-3.2.0+-2F+2012-06-26">3.2.0 / 2012-06-26</a>
    <li><a href="#label-3.1.0+-2F+2012-06-13">3.1.0 / 2012-06-13</a>
    <li><a href="#label-3.0.1+-2F+2012-05-24">3.0.1 / 2012-05-24</a>
    <li><a href="#label-3.0.0+-2F+2012-05-08">3.0.0 / 2012-05-08</a>
    <li><a href="#label-2.12.1+-2F+2012-04-10">2.12.1 / 2012-04-10</a>
    <li><a href="#label-2.12.0+-2F+2012-04-03">2.12.0 / 2012-04-03</a>
    <li><a href="#label-2.11.4+-2F+2012-03-20">2.11.4 / 2012-03-20</a>
    <li><a href="#label-2.11.3+-2F+2012-02-29">2.11.3 / 2012-02-29</a>
    <li><a href="#label-2.11.2+-2F+2012-02-14">2.11.2 / 2012-02-14</a>
    <li><a href="#label-2.11.1+-2F+2012-02-01">2.11.1 / 2012-02-01</a>
    <li><a href="#label-2.11.0+-2F+2012-01-25">2.11.0 / 2012-01-25</a>
    <li><a href="#label-2.10.1+-2F+2012-01-17">2.10.1 / 2012-01-17</a>
    <li><a href="#label-2.10.0+-2F+2011-12-20">2.10.0 / 2011-12-20</a>
    <li><a href="#label-2.9.1+-2F+2011-12-13">2.9.1 / 2011-12-13</a>
    <li><a href="#label-2.9.0+-2F+2011-12-07">2.9.0 / 2011-12-07</a>
    <li><a href="#label-2.8.1+-2F+2011-11-17">2.8.1 / 2011-11-17</a>
    <li><a href="#label-2.8.0+-2F+2011-11-08">2.8.0 / 2011-11-08</a>
    <li><a href="#label-2.7.0+-2F+2011-10-25">2.7.0 / 2011-10-25</a>
    <li><a href="#label-2.6.2+-2F+2011-10-19">2.6.2 / 2011-10-19</a>
    <li><a href="#label-2.6.1+-2F+2011-09-27">2.6.1 / 2011-09-27</a>
    <li><a href="#label-2.6.0+-2F+2011-09-13">2.6.0 / 2011-09-13</a>
    <li><a href="#label-2.5.1+-2F+2011-08-27+-2F-2F+ruby+1.9.3-3A+p0-2C+p125-2C+p34579">2.5.1 / 2011-08-27 // ruby 1.9.3: p0, p125, p34579</a>
    <li><a href="#label-2.5.0+-2F+2011-08-18">2.5.0 / 2011-08-18</a>
    <li><a href="#label-2.4.0+-2F+2011-08-09">2.4.0 / 2011-08-09</a>
    <li><a href="#label-2.3.1+-2F+2011-06-22">2.3.1 / 2011-06-22</a>
    <li><a href="#label-2.3.0+-2F+2011-06-15">2.3.0 / 2011-06-15</a>
    <li><a href="#label-2.2.2+-2F+2011-06-01">2.2.2 / 2011-06-01</a>
    <li><a href="#label-2.2.1+-2F+2011-05-31">2.2.1 / 2011-05-31</a>
    <li><a href="#label-2.2.0+-2F+2011-05-29">2.2.0 / 2011-05-29</a>
    <li><a href="#label-2.1.0+-2F+2011-04-11">2.1.0 / 2011-04-11</a>
    <li><a href="#label-2.0.2+-2F+2010-12-24">2.0.2 / 2010-12-24</a>
    <li><a href="#label-2.0.1+-2F+2010-12-15">2.0.1 / 2010-12-15</a>
    <li><a href="#label-2.0.0+-2F+2010-11-11">2.0.0 / 2010-11-11</a>
    <li><a href="#label-1.7.2+-2F+2010-09-23">1.7.2 / 2010-09-23</a>
    <li><a href="#label-1.7.1+-2F+2010-09-01">1.7.1 / 2010-09-01</a>
    <li><a href="#label-1.7.0+-2F+2010-07-15">1.7.0 / 2010-07-15</a>
    <li><a href="#label-1.6.0+-2F+2010-03-27+-2F-2F+ruby+1.9.2-p290">1.6.0 / 2010-03-27 // ruby 1.9.2-p290</a>
    <li><a href="#label-1.5.0+-2F+2010-01-06">1.5.0 / 2010-01-06</a>
    <li><a href="#label-1.4.2+-2F+2009-06-25">1.4.2 / 2009-06-25</a>
    <li><a href="#label-1.4.1+-2F+2009-06-23">1.4.1 / 2009-06-23</a>
    <li><a href="#label-1.4.0+-2F+2009-06-18">1.4.0 / 2009-06-18</a>
    <li><a href="#label-1.3.1+-2F+2009-01-20+-2F-2F+ruby+1.9.1-p431">1.3.1 / 2009-01-20 // ruby 1.9.1-p431</a>
    <li><a href="#label-1.3.0+-2F+2008-10-09">1.3.0 / 2008-10-09</a>
    <li><a href="#label-1.2.1+-2F+2008-06-10">1.2.1 / 2008-06-10</a>
    <li><a href="#label-1.2.0+-2F+2008-06-09">1.2.0 / 2008-06-09</a>
    <li><a href="#label-1.1.0+-2F+2007-11-08">1.1.0 / 2007-11-08</a>
    <li><a href="#label-1.0.0+-2F+2006-10-30">1.0.0 / 2006-10-30</a>
  </ul>
</div>

  <button id='toggleThing' @click="toggleNav()" >Show/hide navigation</button>

  <div id="project-metadata">
   <div :class="isOpen ? 'block' : 'hidden' " id='toggleMe'>
    
<div id="fileindex-section" class="nav-section">
  <h3>Pages</h3>

  <ul class="link-list">
    <li><a href="../minitest-5_20_0/History_rdoc.html">History</a>
    <li><a href="../minitest-5_20_0/README_rdoc.html">README</a>
  </ul>
</div>

   </div>
  </div>
</nav>


<!--  carbon ads here -->

<div id='extraz'>
  <div class='adzbox-index'  >
   
  </div>
 </div>         


<main role="main" aria-label="Page minitest-5.20.0/History.rdoc">

<h3 id="label-5.20.0+-2F+2023-09-06">5.20.0 / 2023-09-06<span><a href="#label-5.20.0+-2F+2023-09-06">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Optionally allow autorun exit hook to remain active in forked child. (casperisfine)</p>
</li></ul>
</li></ul>

<h3 id="label-5.19.0+-2F+2023-07-26">5.19.0 / 2023-07-26<span><a href="#label-5.19.0+-2F+2023-07-26">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Add metadata lazy accessor to Runnable / Result. (matteeyah)</p>
</li><li>
<p>Only load minitest/unit (aka ancient MiniTest compatibility layer) if <a href=""MT_COMPAT"">ENV</a></p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p><a href="../Minitest/TestTask.html"><code>Minitest::TestTask</code></a> enthusiastically added itself to default. (ParadoxV5)</p>
</li></ul>
</li></ul>

<h3 id="label-5.18.1+-2F+2023-06-16">5.18.1 / 2023-06-16<span><a href="#label-5.18.1+-2F+2023-06-16">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Avoid extra string allocations when filtering tests. (tenderlove)</p>
</li><li>
<p>Only mention deprecated <a href="'N'">ENV</a> if it is an integer string.</p>
</li><li>
<p>Push up test_order to Minitest::Runnable to fix minitest/hell. (koic)</p>
</li></ul>
</li></ul>

<h3 id="label-5.18.0+-2F+2023-03-04">5.18.0 / 2023-03-04<span><a href="#label-5.18.0+-2F+2023-03-04">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 major enhancements:</p>
<ul><li>
<p>Added assert_pattern &amp; refute_pattern for pattern matching. (flavorjones)</p>
</li><li>
<p>Added matching must_pattern_match &amp; wont_pattern_match to minitest/spec.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Support the new message format of NameError in Ruby 3.3 (mame)</p>
</li></ul>
</li></ul>

<h3 id="label-5.17.0+-2F+2022-12-31">5.17.0 / 2022-12-31<span><a href="#label-5.17.0+-2F+2022-12-31">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Refactor setup hooks into a SETUP_METHODS constant. (MSP-Greg)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Fix kwargs for Mock calls to delegator. (blowmage)</p>
</li><li>
<p>Fix kwargs for expectations. (bobmazanec, blowmage)</p>
</li><li>
<p>Remove check for .b method. (tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-5.16.3+-2F+2022-08-17">5.16.3 / 2022-08-17<span><a href="#label-5.16.3+-2F+2022-08-17">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fixed exception sanitization by removing TypeError restriction on rescue.</p>
</li><li>
<p>Use A instead of deprecated TESTOPTS in rake test:slow. (davidstosik)</p>
</li></ul>
</li></ul>

<h3 id="label-5.16.2+-2F+2022-07-03">5.16.2 / 2022-07-03<span><a href="#label-5.16.2+-2F+2022-07-03">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 bug fixes:</p>
<ul><li>
<p>Added MT_KWARGS_HACK kludge for stub to deal with ruby 2.7 kwargs nastiness. (tsugimoto)</p>
</li><li>
<p>In expect, pop Hash class from args if $MT_KWARGS_HACK. (casperisfine)</p>
</li><li>
<p>In above scenario, set expected kwargs (as Objects) based on actual kwargs.</p>
</li><li>
<p>Nuke ivars if exception fails to marshal twice (eg better_errors). (irphilli)</p>
</li></ul>
</li></ul>

<h3 id="label-5.16.1+-2F+2022-06-20">5.16.1 / 2022-06-20<span><a href="#label-5.16.1+-2F+2022-06-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Apparently adding real kwarg support to mocks/stubs broke some code. Fixed.</p>
<ul><li>
<p>Use ‘MT_KWARGS_HACK=1` to activate the kludgy kwargs support w/ caveats.</p>
</li></ul>
</li><li>
<p>Clarified some doco wrt the block on stub.</p>
</li></ul>
</li></ul>

<h3 id="label-5.16.0+-2F+2022-06-14">5.16.0 / 2022-06-14<span><a href="#label-5.16.0+-2F+2022-06-14">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 major enhancements:</p>
<ul><li>
<p>Added <a href="../Minitest/TestTask.html"><code>Minitest::TestTask</code></a>.</p>
</li><li>
<p>Dropping ruby 2.2 - 2.5. 2.6 is DTM soon too.</p>
</li></ul>
</li><li>
<p>11 minor enhancements:</p>
<ul><li>
<p>Added –show-skips option to show skips at end of run but not require –verbose. (MSP-Greg)</p>
</li><li>
<p>Added <a href="../Minitest.html#method-i-seed"><code>Minitest.seed</code></a>, the random seed used by the run.</p>
</li><li>
<p>Calling ‘srand <a href="../Minitest.html#method-i-seed"><code>Minitest.seed</code></a>` before all shuffles to ensure determinism.</p>
</li><li>
<p>Extended stub to handle kwargs for both block and call args. (SampsonCrowley)</p>
</li><li>
<p>Extended Mock#__call to display kwargs.</p>
</li><li>
<p>Extended Mock#expect to record kwargs.</p>
</li><li>
<p>Extended Mock#method_missing to take kwargs &amp; compare them against expected.</p>
</li><li>
<p>Mock#method_missing displays better errors on arity mismatch.</p>
</li><li>
<p>Removed minor optimization removing empty suites before run.</p>
</li><li>
<p>Simplified test randomization (test order will change even with fixed seed).</p>
</li><li>
<p>assert_match now returns the MatchData on success. (Nakilon)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>(Re)Fixed marshalling of exceptions, neutering them in 2 passes.</p>
</li><li>
<p>Fixed more problems with rdoc.</p>
</li><li>
<p>Had to patch up mock and stub to deal with &lt;=2.7 kwargs oddities</p>
</li></ul>
</li></ul>

<h3 id="label-5.15.0+-2F+2021-12-14">5.15.0 / 2021-12-14<span><a href="#label-5.15.0+-2F+2021-12-14">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>assert_throws returns the value returned, if any. (volmer)</p>
</li></ul>
</li><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Added -S &lt;CODES&gt; option to skip reporting of certain types of output</p>
</li><li>
<p>Enable Ruby deprecation warnings by default. (casperisfine)</p>
</li><li>
<p>Use Etc.nprocessors by default in order to maximize cpu usage. (tonytonyjan)</p>
</li></ul>
</li><li>
<p>6 bug fixes:</p>
<ul><li>
<p>Close then unlink tempfiles on Windows. (nobu)</p>
</li><li>
<p>Fixed skip_until for windows paths. (MSP-Greg)</p>
</li><li>
<p>Fixed a bunch of tests for jruby and windows. (MSP-Greg)</p>
</li><li>
<p>Fixed marshalling of specs if they error. (tenderlove, jeremyevans, et al)</p>
</li><li>
<p>Updated deprecation message for block expectations. (blowmage)</p>
</li><li>
<p>Use Kernel.warn directly in expectations in case CUT defines their own warn. (firien)</p>
</li></ul>
</li></ul>

<h3 id="label-5.14.4+-2F+2021-02-23">5.14.4 / 2021-02-23<span><a href="#label-5.14.4+-2F+2021-02-23">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed deprecation warning using stub with methods using keyword arguments. (Nakilon)</p>
</li></ul>
</li></ul>

<h3 id="label-5.14.3+-2F+2021-01-05">5.14.3 / 2021-01-05<span><a href="#label-5.14.3+-2F+2021-01-05">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Bumped require_ruby_version to &lt; 4 (trunk = 3.1).</p>
</li></ul>
</li></ul>

<h3 id="label-5.14.2+-2F+2020-08-31">5.14.2 / 2020-08-31<span><a href="#label-5.14.2+-2F+2020-08-31">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Bumped ruby version to include 3.0 (trunk).</p>
</li></ul>
</li></ul>

<h3 id="label-5.14.1+-2F+2020-05-15">5.14.1 / 2020-05-15<span><a href="#label-5.14.1+-2F+2020-05-15">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Minitest.filter_backtrace returns original backtrace if filter comes back empty.</p>
</li><li>
<p><a href="../Minitest/BacktraceFilter.html"><code>Minitest::BacktraceFilter</code></a> now returns entire backtrace if $MT_DEBUG set in env.</p>
</li><li>
<p>Return true on a successful refute. (jusleg)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed expectation doco to not use global expectations.</p>
</li></ul>
</li></ul>

<h3 id="label-5.14.0+-2F+2020-01-11">5.14.0 / 2020-01-11<span><a href="#label-5.14.0+-2F+2020-01-11">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Block-assertions (eg assert_output) now error if raised inside the block. (casperisfine)</p>
</li><li>
<p>Changed assert_raises to only catch Assertion since that covers Skip and friends.</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Added example for value wrapper with block to Expectations module. (stomar)</p>
</li><li>
<p>Fixed use of must/wont_be_within_delta on Expectation instance. (stomar)</p>
</li><li>
<p>Renamed UnexpectedError#exception to error to avoid problems with reraising. (casperisfine)</p>
</li></ul>
</li></ul>

<h3 id="label-5.13.0+-2F+2019-10-29">5.13.0 / 2019-10-29<span><a href="#label-5.13.0+-2F+2019-10-29">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>9 minor enhancements:</p>
<ul><li>
<p>Added <a href="../Minitest/Guard.html#method-i-osx-3F"><code>Minitest::Guard#osx?</code></a></p>
</li><li>
<p>Added examples to documentation for assert_raises. (lxxxvi)</p>
</li><li>
<p>Added expectations path_must_exist and path_wont_exist. Not thrilled with the names.</p>
</li><li>
<p>Added fail_after(year, month, day, msg) to allow time-bombing after a deadline.</p>
</li><li>
<p>Added skip_until(year, month, day, msg) to allow deferring until a deadline.</p>
</li><li>
<p>Deprecated <a href="../Minitest/Guard.html#method-i-maglev-3F"><code>Minitest::Guard#maglev?</code></a></p>
</li><li>
<p>Deprecated <a href="../Minitest/Guard.html#method-i-rubinius-3F"><code>Minitest::Guard#rubinius?</code></a></p>
</li><li>
<p>Finally added assert_path_exists and refute_path_exists. (deivid-rodriguez)</p>
</li><li>
<p>Refactored and pulled Assertions#things_to_diff out of diff. (BurdetteLamar)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Fix autorun bug that affects fork exit status in tests. (dylanahsmith/jhawthorn)</p>
</li><li>
<p>Improved documentation for _/value/expect, especially for blocks. (svoop)</p>
</li><li>
<p>Support new Proc#to_s format. (ko1)</p>
</li></ul>
</li></ul>

<h3 id="label-5.12.2+-2F+2019-09-28">5.12.2 / 2019-09-28<span><a href="#label-5.12.2+-2F+2019-09-28">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>After chatting w/ @y-yagi and others, decided to lower support to include ruby 2.2.</p>
</li></ul>
</li></ul>

<h3 id="label-5.12.1+-2F+2019-09-28">5.12.1 / 2019-09-28<span><a href="#label-5.12.1+-2F+2019-09-28">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added documentation for Reporter classes. (sshaw)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Avoid using ‘match?’ to support older ruby versions. (y-yagi)</p>
</li><li>
<p>Fixed broken link to reference on goodness-of-fit testing. (havenwood)</p>
</li><li>
<p>Update requirements in readme and Rakefile/hoe spec.</p>
</li></ul>
</li></ul>

<h3 id="label-5.12.0+-2F+2019-09-22">5.12.0 / 2019-09-22<span><a href="#label-5.12.0+-2F+2019-09-22">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>8 minor enhancements:</p>
<ul><li>
<p>Added a descriptive error if assert_output or assert_raises called without a block. (okuramasafumi)</p>
</li><li>
<p>Changed mu_pp_for_diff to make having both n and \n easier to debug.</p>
</li><li>
<p>Deprecated $N for specifying number of parallel test runners. Use MT_CPU.</p>
</li><li>
<p>Deprecated use of global expectations. To be removed from MT6.</p>
</li><li>
<p>Extended Assertions#mu_pp to encoding validity output for strings to improve diffs.</p>
</li><li>
<p>Extended Assertions#mu_pp to output encoding and validity if invalid to improve diffs.</p>
</li><li>
<p>Extended Assertions#mu_pp_for_diff to make escaped newlines more obvious in diffs.</p>
</li><li>
<p>Fail gracefully when expectation used outside of ‘it`.</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Check ‘<a href=":filter">option</a>` klass before match. Fixes 2.6 warning. (y-yagi)</p>
</li><li>
<p>Fixed Assertions#diff from recalculating if set to nil</p>
</li><li>
<p>Fixed spec section of readme to not use deprecated global expectations. (CheezItMan)</p>
</li></ul>
</li></ul>

<h3 id="label-5.11.3+-2F+2018-01-26">5.11.3 / 2018-01-26<span><a href="#label-5.11.3+-2F+2018-01-26">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Pushed error? up to Reportable module. (composerinteralia)</p>
</li></ul>
</li></ul>

<h3 id="label-5.11.2+-2F+2018-01-25">5.11.2 / 2018-01-25<span><a href="#label-5.11.2+-2F+2018-01-25">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Reversed Test &lt; Result. Back to &lt; Runnable and using Reportable for shared code.</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fixed Result#location for instances of Test. (alexisbernard)</p>
</li><li>
<p>Fixed deprecation message for Runnable#marshal_dump. (y-yagi)</p>
</li></ul>
</li></ul>

<h3 id="label-5.11.1+-2F+2018-01-02">5.11.1 / 2018-01-02<span><a href="#label-5.11.1+-2F+2018-01-02">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed Result (a superclass of Test) overriding Runnable’s name accessors. (y-yagi, MSP-Greg)</p>
</li></ul>
</li></ul>

<h3 id="label-5.11.0+-2F+2018-01-01">5.11.0 / 2018-01-01<span><a href="#label-5.11.0+-2F+2018-01-01">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 major enhancements:</p>
<ul><li>
<p>Added <a href="../Minitest/Result.html"><code>Minitest::Result</code></a> and <a href="../Minitest/Result.html#method-c-from"><code>Minitest::Result.from(runnable)</code></a>.</p>
</li><li>
<p>Changed <a href="../Minitest/Test.html"><code>Minitest::Test</code></a> to subclass Result and refactored methods up.</p>
</li></ul>
</li><li>
<p>7 minor enhancements:</p>
<ul><li>
<p>Added –no-plugins and MT_NO_PLUGINS to bypass MT plugin autoloading. Helps with bad actors installed globally.</p>
</li><li>
<p>Added bench_performance_{logarithmic,power} for spec-style benchmarks. (rickhull)</p>
</li><li>
<p>Added deprecation warning for Runnable#marshal_dump.</p>
</li><li>
<p>Minitest.run_one_method now checks for instance of Result, not exact same class.</p>
</li><li>
<p><a href="../Minitest/Runnable.html#method-c-run"><code>Minitest::Test.run</code></a> returns a Result version of self, not self.</p>
</li><li>
<p>ProgressReporter#prerecord now explicitly prints klass.name. Allows for fakers.</p>
</li></ul>
</li><li>
<p>4 bug fixes:</p>
<ul><li>
<p><a href="../Object.html#method-i-stub"><code>Object.stub</code></a> no longer calls the passed block if stubbed with a callable.</p>
</li><li>
<p><a href="../Object.html#method-i-stub"><code>Object.stub</code></a> now passes blocks down to the callable result.</p>
</li><li>
<p>Pushed <a href="../Minitest/Runnable.html#attribute-i-time"><code>Minitest::Test#time</code></a> &amp; time_it up to Runnable.</p>
</li><li>
<p>Test nil equality directly in assert_equal. Fixes #679. (voxik)</p>
</li></ul>
</li></ul>

<h3 id="label-5.11.0b1+-2F+2017-12-20">5.11.0b1 / 2017-12-20<span><a href="#label-5.11.0b1+-2F+2017-12-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 major enhancements:</p>
<ul><li>
<p>Added <a href="../Minitest/Result.html"><code>Minitest::Result</code></a> and <a href="../Minitest/Result.html#method-c-from"><code>Minitest::Result.from(runnable)</code></a>.</p>
</li><li>
<p>Changed <a href="../Minitest/Test.html"><code>Minitest::Test</code></a> to subclass Result and refactored methods up.</p>
</li></ul>
</li><li>
<p>6 minor enhancements:</p>
<ul><li>
<p>Added –no-plugins and MT_NO_PLUGINS to bypass MT plugin autoloading. Helps with bad actors installed globally.</p>
</li><li>
<p>Added bench_performance_{logarithmic,power} for spec-style benchmarks. (rickhull)</p>
</li><li>
<p>Minitest.run_one_method now checks for instance of Result, not exact same class.</p>
</li><li>
<p><a href="../Minitest/Runnable.html#method-c-run"><code>Minitest::Test.run</code></a> returns a Result version of self, not self.</p>
</li><li>
<p>ProgressReporter#prerecord now explicitly prints klass.name. Allows for fakers.</p>
</li><li>
<p>Removed Runnable.marshal_dump/load.</p>
</li></ul>
</li><li>
<p>4 bug fixes:</p>
<ul><li>
<p><a href="../Object.html#method-i-stub"><code>Object.stub</code></a> no longer calls the passed block if stubbed with a callable.</p>
</li><li>
<p><a href="../Object.html#method-i-stub"><code>Object.stub</code></a> now passes blocks down to the callable result.</p>
</li><li>
<p>Pushed <a href="../Minitest/Runnable.html#attribute-i-time"><code>Minitest::Test#time</code></a> &amp; time_it up to Runnable.</p>
</li><li>
<p>Test nil equality directly in assert_equal. Fixes #679. (voxik)</p>
</li></ul>
</li></ul>

<h3 id="label-5.10.3+-2F+2017-07-21">5.10.3 / 2017-07-21<span><a href="#label-5.10.3+-2F+2017-07-21">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Extended documentation for Mock#expect for multiple calls to mock object. (insti)</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Finished off missing doco.</p>
</li><li>
<p>Fixed verbose output on parallelize_me! classes. (chanks)</p>
</li></ul>
</li></ul>

<h3 id="label-5.10.2+-2F+2017-05-09">5.10.2 / 2017-05-09<span><a href="#label-5.10.2+-2F+2017-05-09">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added suggestion in minitest/hell to install minitest/proveit.</p>
</li></ul>
</li><li>
<p>7 bug fixes:</p>
<ul><li>
<p>Expand MT6 to <a href="../Minitest.html"><code>Minitest</code></a> 6. (xaviershay)</p>
</li><li>
<p>Fixed location of assert_send deprecation. (rab)</p>
</li><li>
<p>Fixed location of nil assert_equal deprecation to work with expectations. (jeremyevans)</p>
</li><li>
<p>Fixed minitest/hell to use parallelize_me! (azul)</p>
</li><li>
<p>Made deprecation use warn so -W0 will silence it.</p>
</li><li>
<p>Workaround for rdoc nodoc generation bug that totally f’d up minitest doco. (Paxa)</p>
</li><li>
<p>Write aggregated_results directly to the IO object to avoid mixed encoding errors. (tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-5.10.1+-2F+2016-12-01">5.10.1 / 2016-12-01<span><a href="#label-5.10.1+-2F+2016-12-01">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Added a hack/kludge to deal with missing prerecord on reporters that aren’t properly subclassing AbstractReporter (I’m looking at you minitest-reporters)</p>
</li></ul>
</li></ul>

<h3 id="label-5.10.0+-2F+2016-11-30">5.10.0 / 2016-11-30<span><a href="#label-5.10.0+-2F+2016-11-30">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>Deprecated ruby 1.8, 1.9, possibly 2.0, assert_send, &amp; old MiniTest namespace.</p>
</li></ul>
</li><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Warn if assert_equal expects a nil. This will fail in minitest 6+. (tenderlove)</p>
</li><li>
<p>Added AbstractReporter#prerecord and extended ProgressReporter and CompositeReporter to use it.</p>
</li><li>
<p>Minor optimization: remove runnables with no runnable methods before run.</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Fix assert_throw rescuing any NameError and ArgumentError. (waldyr)</p>
</li><li>
<p>Clean up (most of the) last remaining vestiges of minitest/unit.</p>
</li><li>
<p>2.4: removed deprecation warnings when referring to Fixnum.</p>
</li></ul>
</li></ul>

<h3 id="label-5.9.1+-2F+2016-09-25">5.9.1 / 2016-09-25<span><a href="#label-5.9.1+-2F+2016-09-25">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Re-release to refresh gem certificate signing. ugh.</p>
</li><li>
<p>Fixed hoe/minitest to not augment load path if we’re actually testing minitest.</p>
</li></ul>
</li></ul>

<h3 id="label-5.9.0+-2F+2016-05-16">5.9.0 / 2016-05-16<span><a href="#label-5.9.0+-2F+2016-05-16">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>8 minor enhancements:</p>
<ul><li>
<p>Added <a href="../Minitest.html#method-i-info_signal"><code>Minitest.info_signal</code></a> accessors to customize signal for test run info. (nate)</p>
</li><li>
<p>Added assert_mock to make it more clear that you’re testing w/ them.</p>
</li><li>
<p>Added negative filter by test name. (utilum)</p>
</li><li>
<p>Added warning to <a href="README_rdoc.html">README</a> that 1.8 and 1.9 support will be dropped in minitest 6.</p>
</li><li>
<p>Automatically activate minitest/hell if $MT_HELL is defined.</p>
</li><li>
<p>Improved default error messages for assert and refute. (bhenderson)</p>
</li><li>
<p>minitest/hell now tries to require minitest/proveit</p>
</li><li>
<p>mu_pp for strings prints out non-standard encodings to improve assert_equal diffs.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Removed Interrupt from PASSTHROUGH_EXCEPTIONS (already handled). (waldyr)</p>
</li></ul>
</li></ul>

<h3 id="label-5.8.5+-2F+2016-09-25">5.8.5 / 2016-09-25<span><a href="#label-5.8.5+-2F+2016-09-25">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Re-release to refresh gem certificate signing. ugh.</p>
</li><li>
<p>Fixed hoe/minitest to not augment load path if we’re actually testing minitest.</p>
</li></ul>
</li></ul>

<h3 id="label-5.8.4+-2F+2016-01-21">5.8.4 / 2016-01-21<span><a href="#label-5.8.4+-2F+2016-01-21">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Allow <a href="../Minitest/Assertion.html"><code>Minitest::Assertion</code></a> to pass through assert_raises so inner failures are dealt with first.</p>
</li></ul>
</li></ul>

<h3 id="label-5.8.3+-2F+2015-11-17">5.8.3 / 2015-11-17<span><a href="#label-5.8.3+-2F+2015-11-17">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added extra note about mocks and threads to readme. (zamith)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed bug in Mock#verify. (pithub/zamith)</p>
</li></ul>
</li></ul>

<h3 id="label-5.8.2+-2F+2015-10-26">5.8.2 / 2015-10-26<span><a href="#label-5.8.2+-2F+2015-10-26">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed using parallelize_me! and capture_io (or any locking io). (arlt/tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-5.8.1+-2F+2015-09-23">5.8.1 / 2015-09-23<span><a href="#label-5.8.1+-2F+2015-09-23">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Refactor assert_raises to be cleaner and to pass SystemExit and SignalException. (bhenderson)</p>
</li></ul>
</li></ul>

<h3 id="label-5.8.0+-2F+2015-08-06">5.8.0 / 2015-08-06<span><a href="#label-5.8.0+-2F+2015-08-06">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Add optional delegation mechanism to extend object with a mock. (zamith)</p>
</li><li>
<p>Return early if there are no filtered methods. (jeremyevans)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Don’t extend io with pride if io is not a tty. (toy)</p>
</li></ul>
</li></ul>

<h3 id="label-5.7.0+-2F+2015-05-27">5.7.0 / 2015-05-27<span><a href="#label-5.7.0+-2F+2015-05-27">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>assert_raises now matches subclasses of the expected exception types. (jeremyevans)</p>
</li></ul>
</li><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Added :block type for minitest/spec’s infect_an_assertion. (jeremyevans)</p>
</li><li>
<p>Inline verification error messages in minitest/mock for GC performance. (zamith)</p>
</li><li>
<p>assert_raises defaults to RuntimeError if not specified. (jeremyevans)</p>
</li></ul>
</li><li>
<p>4 bug fixes:</p>
<ul><li>
<p>Added ‘class’ to minitest/mock’s overridden_methods list. (zamith)</p>
</li><li>
<p>Added file/line to infect_an_assertion’s class_eval call. (jeremyevans)</p>
</li><li>
<p>Cleared UnexpectedError’s mesg w/ generic string.</p>
</li><li>
<p>Fixed non-proc-oriented expectations when used on proc target. (jeremyevans)</p>
</li></ul>
</li></ul>

<h3 id="label-5.6.1+-2F+2015-04-27">5.6.1 / 2015-04-27<span><a href="#label-5.6.1+-2F+2015-04-27">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Added Minitest.clock_time and switched all Time.now to it. (tenderlove)</p>
</li><li>
<p>Moved <a href="../Minitest/Expectations.html"><code>Minitest::Expectations</code></a>#_ into <a href="../Minitest/Spec/DSL.html"><code>Minitest::Spec::DSL</code></a>.</p>
</li></ul>
</li></ul>

<h3 id="label-5.6.0+-2F+2015-04-13">5.6.0 / 2015-04-13<span><a href="#label-5.6.0+-2F+2015-04-13">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 major enhancements:</p>
<ul><li>
<p>Added Minitest::Expectation value monad.</p>
</li><li>
<p>Added <a href="../Minitest/Expectations.html"><code>Minitest::Expectations</code></a>#_ that returns an Expectation. Aliased to value.</p>
</li><li>
<p>All expectations are added to Minitest::Expectation.</p>
</li><li>
<p>At some point, the methods on <a href="../Object.html"><code>Object</code></a> will be deprecated and then removed.</p>
</li></ul>
</li><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added a note about bundle exec pitfall in ruby 2.2+. (searls)</p>
</li><li>
<p>Lazily start the parallel executor. (tenderlove)</p>
</li><li>
<p>Make mocks more debugger-friendly (edward)</p>
</li><li>
<p>Print out the current test run on interrupt. (riffraff)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Fix failing test under Windows. (kimhmadsen)</p>
</li><li>
<p>Record mocked calls before they happen so mocks can raise exceptions easier (tho I’m not a fan). (corecode)</p>
</li><li>
<p>Tried to clarify mocks vs stubs terminology better. (kkirsche)</p>
</li></ul>
</li></ul>

<h3 id="label-5.5.1+-2F+2015-01-09">5.5.1 / 2015-01-09<span><a href="#label-5.5.1+-2F+2015-01-09">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed doco problems. (zzak)</p>
</li></ul>
</li></ul>

<h3 id="label-5.5.0+-2F+2014-12-12+-2F-2F+mri+2.2.0+-28as+a+real+gem-29">5.5.0 / 2014-12-12 // mri 2.2.0 (as a real gem)<span><a href="#label-5.5.0+-2F+2014-12-12+-2F-2F+mri+2.2.0+-28as+a+real+gem-29">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Allow seed to be given via ENV for rake test loader sadness: eg rake SEED=42.</p>
</li></ul>
</li></ul>

<h3 id="label-5.4.3+-2F+2014-11-11">5.4.3 / 2014-11-11<span><a href="#label-5.4.3+-2F+2014-11-11">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Clarified requirements for ruby are now 1.8.7 or better.</p>
</li><li>
<p>Force encode error output in case mal-encoded exception is raised. (jasonrclark)</p>
</li></ul>
</li></ul>

<h3 id="label-5.4.2+-2F+2014-09-26">5.4.2 / 2014-09-26<span><a href="#label-5.4.2+-2F+2014-09-26">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Extract teardown method list.</p>
</li><li>
<p>Thanks to minitest-gcstats got a 5-10% speedup via reduced GC!</p>
</li></ul>
</li></ul>

<h3 id="label-5.4.1+-2F+2014-08-28">5.4.1 / 2014-08-28<span><a href="#label-5.4.1+-2F+2014-08-28">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed specs hidden by nesting/ordering bug (blowmage/apotonick)</p>
</li></ul>
</li></ul>

<h3 id="label-5.4.0+-2F+2014-07-07">5.4.0 / 2014-07-07<span><a href="#label-5.4.0+-2F+2014-07-07">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p><a href="../Kernel.html#method-i-describe"><code>Kernel#describe</code></a> extended to splat additional_desc.</p>
</li><li>
<p>Spec#spec_type extended to take a splat of additional items, passed to matcher procs.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>minitest/spec should require minitest/test, not minitest/unit. (doudou)</p>
</li></ul>
</li></ul>

<h3 id="label-5.3.5+-2F+2014-06-17">5.3.5 / 2014-06-17<span><a href="#label-5.3.5+-2F+2014-06-17">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Spit and polish (mostly spit).</p>
</li></ul>
</li></ul>

<h3 id="label-5.3.4+-2F+2014-05-15">5.3.4 / 2014-05-15<span><a href="#label-5.3.4+-2F+2014-05-15">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Test classes are randomized before running. (judofyr)</p>
</li></ul>
</li></ul>

<h3 id="label-5.3.3+-2F+2014-04-14">5.3.3 / 2014-04-14<span><a href="#label-5.3.3+-2F+2014-04-14">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed using expectations w/ DSL in Test class w/o describe. (blowmage+others)</p>
</li></ul>
</li></ul>

<h3 id="label-5.3.2+-2F+2014-04-02">5.3.2 / 2014-04-02<span><a href="#label-5.3.2+-2F+2014-04-02">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed doco on Assertions.assertions. (xaviershay)</p>
</li></ul>
</li></ul>

<h3 id="label-5.3.1+-2F+2014-03-14">5.3.1 / 2014-03-14<span><a href="#label-5.3.1+-2F+2014-03-14">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Modified verbage on bad ‘let’ names to be more helpful. (Archytaus)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed 2 cases still using MiniTest. (mikesea)</p>
</li></ul>
</li></ul>

<h3 id="label-5.3.0+-2F+2014-02-25">5.3.0 / 2014-02-25<span><a href="#label-5.3.0+-2F+2014-02-25">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Mocked methods can take a block to verify state. Seattle.rb 12 bday present from ernie! Thanks!!</p>
</li></ul>
</li></ul>

<h3 id="label-5.2.3+-2F+2014-02-10">5.2.3 / 2014-02-10<span><a href="#label-5.2.3+-2F+2014-02-10">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed Spec#let check to allow overriding of other lets. (mvz)</p>
</li></ul>
</li></ul>

<h3 id="label-5.2.2+-2F+2014-01-22">5.2.2 / 2014-01-22<span><a href="#label-5.2.2+-2F+2014-01-22">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Spec#let raises ArgumentError if you override <em>any</em> instance method (except subject). (rynr)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed up benchmark spec doco and added a test to demonstrate. (bhenderson)</p>
</li></ul>
</li></ul>

<h3 id="label-5.2.1+-2F+2014-01-07">5.2.1 / 2014-01-07<span><a href="#label-5.2.1+-2F+2014-01-07">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Properly deal with horrible mix of runtime load errors + other at_exit handlers. (dougo/chqr)</p>
</li></ul>
</li></ul>

<h3 id="label-5.2.0+-2F+2013-12-13">5.2.0 / 2013-12-13<span><a href="#label-5.2.0+-2F+2013-12-13">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Change expectations to allow calling most on procs (but not calling the proc). (bhenderson+others)</p>
</li></ul>
</li></ul>

<h3 id="label-5.1.0+-2F+2013-12-05">5.1.0 / 2013-12-05<span><a href="#label-5.1.0+-2F+2013-12-05">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Use a Queue for scheduling parallel tests. (tenderlove)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed misspelling in doco. (amatsuda)</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.8+-2F+2013-09-20">5.0.8 / 2013-09-20<span><a href="#label-5.0.8+-2F+2013-09-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed siginfo handler by rearranging reporters and fixing to_s. (tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.7+-2F+2013-09-05">5.0.7 / 2013-09-05<span><a href="#label-5.0.7+-2F+2013-09-05">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Added clarification about the use of thread local variables in expectations. (jemc)</p>
</li><li>
<p>Added extra message about skipped tests, if any. Disable globally with $MT_NO_SKIP_MSG.</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Only require minitest, not minitest/autorun in pride_plugin. (judofyr)</p>
</li><li>
<p>Require rubygems in load_plugins in case you’re not using minitest/autorun.</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.6+-2F+2013-06-28">5.0.6 / 2013-06-28<span><a href="#label-5.0.6+-2F+2013-06-28">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Allow stub to pass args to blocks. (swindsor)</p>
</li><li>
<p>Improved warning message about minitest/autorun to address 1.9’s minitest/autorun.</p>
</li><li>
<p>Made minitest/test require minitest as needed. For lib writers. (erikh)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed missing require in minitest/test. (erikh)</p>
</li></ul>
</li></ul>

<h3 id="label-4.7.5+-2F+2013-06-21+-2F-2F+mri+2.1.1">4.7.5 / 2013-06-21 // mri 2.1.1<span><a href="#label-4.7.5+-2F+2013-06-21+-2F-2F+mri+2.1.1">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fix Spec#describe_stack to be thread local.</p>
</li><li>
<p>Fix multithreaded test failures by defining Time local to mock test namespace</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.5+-2F+2013-06-20">5.0.5 / 2013-06-20<span><a href="#label-5.0.5+-2F+2013-06-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>6 bug fixes:</p>
<ul><li>
<p>DOH! Fixed the rest of the new casing on <a href="../Minitest.html"><code>Minitest</code></a>. (splattael)</p>
</li><li>
<p>Fixed typo on minitest/mock rdoc. (mrgilman/guiceolin)</p>
</li><li>
<p>Make Spec::DSL.describe_stack thread local to avoid failing on my own tests.</p>
</li><li>
<p>Make a fake Time.now local to the tests so they won’t interfere with real reporter timings.</p>
</li><li>
<p>Make everything mockable by wrapping all ‘special’ methods in a smarter wrapper. (bestie)</p>
</li><li>
<p>Raise ArgumentError if let name starts with ‘test’. (johnmaxwell)</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.4+-2F+2013-06-07">5.0.4 / 2013-06-07<span><a href="#label-5.0.4+-2F+2013-06-07">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>5 minor enhancements:</p>
<ul><li>
<p>Added AbstractReporter, defining required Reporter API to quack properly.</p>
</li><li>
<p>Added doco for writing reporters.</p>
</li><li>
<p>Refactored Reporter into ProgressReporter and SummaryReporter. (idea: phiggins, code:me+scotch)</p>
</li><li>
<p>Refactored SummaryReporter pushing up to StatisticsReporter. (phiggins)</p>
</li><li>
<p>Removed Reporter#run_and_report… cleaner, but doesn’t “fit” in the API.</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.3+-2F+2013-05-29">5.0.3 / 2013-05-29<span><a href="#label-5.0.3+-2F+2013-05-29">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added Runnable.with_info_handler and Runnable.on_signal.</p>
</li><li>
<p>Moved io.sync restore to Reporter#run_and_report.</p>
</li><li>
<p>Refactored inner loop of Reporter#report to to_s. Callable for status updates.</p>
</li><li>
<p>Restored MT4’s mid-run report (^t). (tenderlove).</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.2+-2F+2013-05-20">5.0.2 / 2013-05-20<span><a href="#label-5.0.2+-2F+2013-05-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Gem.find_files is smarter than I remember… cause I wrote it that way. <strong>sigh</strong> I’m getting old.</p>
</li><li>
<p>Pride wasn’t doing puts through its io. (tmiller/tenderlove)</p>
</li><li>
<p>Replaced Runnable#dup and Test#dup with marshal_dump/load. Too many problems cropping up on untested rails code. (tenderlove/rubys)</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.1+-2F+2013-05-14">5.0.1 / 2013-05-14<span><a href="#label-5.0.1+-2F+2013-05-14">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Documented Assertions’ need for @assertions to be defined by the includer.</p>
</li><li>
<p>Only load one plugin version per name. Tries for latest.</p>
</li></ul>
</li></ul>

<h3 id="label-5.0.0+-2F+2013-05-10">5.0.0 / 2013-05-10<span><a href="#label-5.0.0+-2F+2013-05-10">&para;</a> <a href="#top">&uarr;</a></span></h3>

<p>Oh god… here we go…</p>

<p><a href="../Minitest.html"><code>Minitest</code></a> 5:</p>
<ul><li>
<p>4 deaths in the family:</p>
<ul><li>
<p>MiniTest.runner is dead. No more manager objects.</p>
</li><li>
<p>MiniTest::Unit#record is dead. Use a Reporter instance instead.</p>
</li><li>
<p>MiniTest::Unit.<em>run</em>* is dead. Runnable things are responsible for their own runs.</p>
</li><li>
<p>MiniTest::Unit.output is dead. No more centralized IO.</p>
</li></ul>
</li><li>
<p>12 major (oft incompatible) changes:</p>
<ul><li>
<p>Renamed MiniTest to <a href="../Minitest.html"><code>Minitest</code></a>. Your pinkies will thank me. (aliased to MiniTest)</p>
</li><li>
<p>Removed MiniTest::Unit entirely. No more manager objects.</p>
</li><li>
<p>Added Minitest::Runnable. Everything minitest can run subclasses this.</p>
</li><li>
<p>Renamed MiniTest::Unit::TestCase to <a href="../Minitest/Test.html"><code>Minitest::Test</code></a> (subclassing Runnable).</p>
</li><li>
<p>Added <a href="../Minitest/Benchmark.html"><code>Minitest::Benchmark</code></a>.</p>
<ul><li>
<p>Your benchmarks need to move to their own subclass.</p>
</li><li>
<p>Benchmarks using the spec DSL have to have “Bench” somewhere in their describe.</p>
</li></ul>
</li><li>
<p>MiniTest::Unit.after_tests moved to <a href="../Minitest.html#method-c-after_run"><code>Minitest.after_run</code></a></p>
</li><li>
<p>MiniTest::Unit.autorun is now <a href="../Minitest.html#method-c-autorun"><code>Minitest.autorun</code></a>. Just require minitest/autorun pls.</p>
</li><li>
<p>Removed ParallelEach#grep since it isn’t used anywhere.</p>
</li><li>
<p>Renamed Runnable#__name__ to Runnable#name (but uses @NAME internally).</p>
</li><li>
<p>Runnable#run needs to return self. Allows for swapping of results as needed.</p>
</li></ul>
</li><li>
<p>8 minor moves:</p>
<ul><li>
<p>Moved Assertions module to minitest/assertions.rb</p>
</li><li>
<p>Moved Expectations module to minitest/expectations.rb</p>
</li><li>
<p>Moved Test to minitest/test.rb</p>
</li><li>
<p>Moved everything else in minitest/unit.rb to minitest.rb</p>
</li><li>
<p>minitest/unit.rb is now just a small (user-test only) compatibility layer.</p>
</li><li>
<p>Moved most of minitest/pride into minitest/pride_plugin.</p>
</li><li>
<p>minitest/pride now just activates pride.</p>
</li><li>
<p>Moved ParallelEach under <a href="../Minitest.html"><code>Minitest</code></a>.</p>
</li></ul>
</li><li>
<p>9 additions:</p>
<ul><li>
<p>Added a plugin system that can extend command-line options.</p>
</li><li>
<p>Added <a href="../Minitest.html#method-i-extensions"><code>Minitest.extensions</code></a>.</p>
</li><li>
<p>Added <a href="../Minitest.html#method-i-reporter"><code>Minitest.reporter</code></a> (only available during startup).</p>
</li><li>
<p>Added <a href="../Minitest.html#method-c-run"><code>Minitest.run(args)</code></a>. This is the very top of any <a href="../Minitest.html"><code>Minitest</code></a> run.</p>
</li><li>
<p>Added Minitest::Reporter. Everything minitest can report goes through here.</p>
<ul><li>
<p><a href="../Minitest.html#method-i-reporter"><code>Minitest.reporter</code></a> is a composite so you can add your own.</p>
</li></ul>
</li><li>
<p>Added <a href="../Minitest/CompositeReporter.html"><code>Minitest::CompositeReporter</code></a>. Much easier to extend with your own reporters.</p>
</li><li>
<p>Added UnexpectedError, an Assertion subclass, to wrap up errors.</p>
</li><li>
<p><a href="../Minitest/Test.html#method-i-run"><code>Minitest::Test#run</code></a> is now freakin’ beautiful. 47 -&gt; 17 loc</p>
</li></ul>
</li><li>
<p>11 other:</p>
<ul><li>
<p>Removed Object.infect_with_assertions (it was already dead code).</p>
</li><li>
<p>Runnables are responsible for knowing their result_code (eg “.” or “F”).</p>
</li><li>
<p><a href="../Minitest.html#method-c-autorun"><code>Minitest.autorun</code></a> now returns boolean, not exit code.</p>
</li><li>
<p>Added FAQ entry for extending via modules. (phiggins)</p>
</li><li>
<p>Implement Runnable#dup to cleanse state back to test results. Helps with serialization. pair:tenderlove</p>
</li><li>
<p>Moved ParallelEach under <a href="../Minitest.html"><code>Minitest</code></a>.</p>
</li><li>
<p>Runnable#run needs to return self. Allows for swapping of results as needed.</p>
</li><li>
<p>Minitest.init_plugins passes down options.</p>
</li><li>
<p>Minitest.load_plugins only loads once.</p>
</li><li>
<p>Fixed minitest/pride to work with rake test loader again. (tmiller)</p>
</li><li>
<p>Added count/size to ParallelEach to fix use w/in stdlib’s test/unit. :( (btaitelb)</p>
</li></ul>
</li><li>
<p>5 voodoo:</p>
<ul><li>
<p>Removed mutex from minitest.rb (phiggins)</p>
</li><li>
<p>Removed mutex from test.rb (phiggins)</p>
</li><li>
<p>Removed Minitest::Reporter.synchronize (phiggins)</p>
</li><li>
<p>Removed Minitest::Test.synchronize (phiggins)</p>
</li><li>
<p>Upon loading minitest/parallel_each, record, capture_io and capture_subprocess_io are doped with synchronization code. (phiggins)</p>
</li></ul>
</li></ul>

<h3 id="label-4.7.4+-2F+2013-05-01">4.7.4 / 2013-05-01<span><a href="#label-4.7.4+-2F+2013-05-01">&para;</a> <a href="#top">&uarr;</a></span></h3>

<p>This is probably the last release of the 4.x series. It will be merged to ruby and will be put into maintenance mode there.</p>

<p>I’m not set in stone on this, but at this point further development of minitest (5+) will be gem-only. It is just too hard to work w/in ruby-core w/ test-unit compatibility holding minitest development back.</p>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Added count/size to ParallelEach to fix use w/in stdlib’s test/unit. :( (btaitelb)</p>
</li><li>
<p>Allow disabling of info_signal handler in runner. (erikh)</p>
</li></ul>
</li></ul>

<h3 id="label-4.7.3+-2F+2013-04-20">4.7.3 / 2013-04-20<span><a href="#label-4.7.3+-2F+2013-04-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Reverted stubbing of module methods change. Stub the user, not the impl. (ab9/tyabe)</p>
</li></ul>
</li></ul>

<h3 id="label-4.7.2+-2F+2013-04-18">4.7.2 / 2013-04-18<span><a href="#label-4.7.2+-2F+2013-04-18">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fixed inconsistency in refute_in_delta/epsilon. I double negatived my logic. (nettsundere)</p>
</li><li>
<p>Fixed stubbing of module methods (eg Kernel#sleep). (steveklabnik)</p>
</li></ul>
</li></ul>

<h3 id="label-4.7.1+-2F+2013-04-09">4.7.1 / 2013-04-09<span><a href="#label-4.7.1+-2F+2013-04-09">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added FAQ section to <a href="README_rdoc.html">README</a></p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed bug where guard runs tests bypassing minitest/autorun and an ivar isn’t set right. (darrencauthon)</p>
</li></ul>
</li></ul>

<h3 id="label-4.7.0+-2F+2013-03-18">4.7.0 / 2013-03-18<span><a href="#label-4.7.0+-2F+2013-03-18">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>Refactored MiniTest::Spec into MiniTest::Spec::DSL.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Removed $DEBUG handler that detected when test/unit and minitest were both loaded. (tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-4.6.2+-2F+2013-02-27">4.6.2 / 2013-02-27<span><a href="#label-4.6.2+-2F+2013-02-27">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Change error output to match Class#method, making it easier to use -n filter.</p>
</li></ul>
</li></ul>

<h3 id="label-4.6.1+-2F+2013-02-14">4.6.1 / 2013-02-14<span><a href="#label-4.6.1+-2F+2013-02-14">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed an option processing bug caused by test/unit’s irresponsibly convoluted code. (floehopper)</p>
</li></ul>
</li></ul>

<h3 id="label-4.6.0+-2F+2013-02-07">4.6.0 / 2013-02-07<span><a href="#label-4.6.0+-2F+2013-02-07">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 major enhancements:</p>
<ul><li>
<p>Removed ::reset_setup_teardown_hooks</p>
</li><li>
<p>Removed the long deprecated assert_block</p>
</li><li>
<p>Removed the long deprecated lifecycle hooks: add_(setup|teardown)_hook</p>
</li></ul>
</li><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Allow filtering tests by suite name as well as test name. (lazyatom)</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Made hex handling (eg object_ids) in mu_pp_for_diff more specific. (maxim)</p>
</li><li>
<p>nodoc top-level module. (zzak)</p>
</li></ul>
</li></ul>

<h3 id="label-4.5.0+-2F+2013-01-22">4.5.0 / 2013-01-22<span><a href="#label-4.5.0+-2F+2013-01-22">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>Rearranged minitest/unit.rb so NO parallelization code is loaded/used until you opt-in.</p>
</li></ul>
</li><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added TestCase#skipped? for teardown guards</p>
</li><li>
<p>Added maglev? guard</p>
</li><li>
<p>Document that record can be sent twice if teardown fails or errors (randycoulman)</p>
</li><li>
<p>Errors in teardown are now recorded. (randycoulman)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Added hacks and skips to get clean test runs on maglev</p>
</li><li>
<p>Modified float tests for maglev float output differences. Not sure this is right. Not sure I care.</p>
</li><li>
<p>Test for existance of diff.exe instead of assuming they have devkit. (blowmage/Cumbayah)</p>
</li></ul>
</li></ul>

<h3 id="label-4.4.0+-2F+2013-01-07">4.4.0 / 2013-01-07<span><a href="#label-4.4.0+-2F+2013-01-07">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Added fit_logarithic and assert_performance_logarithmic. (ktheory)</p>
</li><li>
<p>Merge processed options so others can mess with defaults. (tenderlove)</p>
</li><li>
<p>TestCase#message can now take another proc to defer custom message cost. (ordinaryzelig/bhenderson)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>TestCase#passed? now true if test is skipped. (qanhd)</p>
</li></ul>
</li></ul>

<h3 id="label-4.3.3+-2F+2012-12-06">4.3.3 / 2012-12-06<span><a href="#label-4.3.3+-2F+2012-12-06">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Updated information about stubbing. (daviddavis)</p>
</li></ul>
</li></ul>

<h3 id="label-4.3.2+-2F+2012-11-27+-2F-2F+mri+2.0.0">4.3.2 / 2012-11-27 // mri 2.0.0<span><a href="#label-4.3.2+-2F+2012-11-27+-2F-2F+mri+2.0.0">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Improved assert_equals error message to point you at == of member objects. (kcurtin)</p>
</li></ul>
</li></ul>

<h3 id="label-4.3.1+-2F+2012-11-23">4.3.1 / 2012-11-23<span><a href="#label-4.3.1+-2F+2012-11-23">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Moved test_children to serial testcase to prevent random failures.</p>
</li></ul>
</li></ul>

<h3 id="label-4.3.0+-2F+2012-11-17">4.3.0 / 2012-11-17<span><a href="#label-4.3.0+-2F+2012-11-17">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Allow autorun to run even if loaded with other test libs that call exit. (sunaku)</p>
</li><li>
<p>Do not include Expectations in <a href="../Object.html"><code>Object</code></a> if $MT_NO_EXPECTATIONS is set (experimental?)</p>
</li><li>
<p>Gave some much needed love to assert_raises.</p>
</li><li>
<p>Mock#expect can take a block to custom-validate args. (gmoothart)</p>
</li></ul>
</li></ul>

<h3 id="label-4.2.0+-2F+2012-11-02">4.2.0 / 2012-11-02<span><a href="#label-4.2.0+-2F+2012-11-02">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 major enhancements:</p>
<ul><li>
<p>Added minitest/hell - run all your tests through the ringer!</p>
</li><li>
<p>Added support for :parallel test_order to run test cases in parallel.</p>
</li><li>
<p>Removed last_error and refactored runner code to be threadsafe.</p>
</li><li>
<p>_run_suites now runs suites in parallel if they opt-in.</p>
</li></ul>
</li><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added TestCase#synchronize</p>
</li><li>
<p>Added TestCase.make_my_diffs_pretty!</p>
</li><li>
<p>Added TestCase.parallelize_me!</p>
</li><li>
<p>Lock on capture_io for thread safety (tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-4.1.0+-2F+2012-10-05">4.1.0 / 2012-10-05<span><a href="#label-4.1.0+-2F+2012-10-05">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Added skip example to readme. (dissolved)</p>
</li><li>
<p>Extracted backtrace filter to object. (tenderlove)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>OMG I’m so dumb. Fixed access to deprecated hook class methods. I hate ruby modules. (route)</p>
</li></ul>
</li></ul>

<h3 id="label-4.0.0+-2F+2012-09-28">4.0.0 / 2012-09-28<span><a href="#label-4.0.0+-2F+2012-09-28">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>The names of a privately-used undocumented constants are Super Important™.</p>
</li></ul>
</li><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Support stubbing methods that would be handled via method_missing. (jhsu)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Add include_private param to MiniTest::Mock#respond_to? (rf-)</p>
</li><li>
<p>Fixed use of minitest/pride with –help. (zw963)</p>
</li><li>
<p>Made ‘No visible difference.’ message more clear. (ckrailo)</p>
</li></ul>
</li></ul>

<h3 id="label-3.5.0+-2F+2012-09-21">3.5.0 / 2012-09-21<span><a href="#label-3.5.0+-2F+2012-09-21">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added capture_subprocess_io. (route)</p>
</li></ul>
</li></ul>

<h3 id="label-3.4.0+-2F+2012-09-05">3.4.0 / 2012-09-05<span><a href="#label-3.4.0+-2F+2012-09-05">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>assert_output can now take regexps for expected values. (suggested by stomar)</p>
</li><li>
<p>Clarified that ruby 1.9/2.0’s phony gems cause serious confusion for rubygems.</p>
</li></ul>
</li></ul>

<h3 id="label-3.3.0+-2F+2012-07-26">3.3.0 / 2012-07-26<span><a href="#label-3.3.0+-2F+2012-07-26">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>Deprecated add_(setup|teardown)_hook in favor of (before|after)_(setup|teardown) [2013-01-01]</p>
</li></ul>
</li><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Refactored deprecated hook system into a module.</p>
</li><li>
<p>Refactored lifecycle hooks into a module.</p>
</li><li>
<p>Removed after_setup/before_teardown + run_X_hooks from Spec.</p>
</li><li>
<p>Spec#before/after now do a simple define_method and call super. DUR.</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fixed passed? when used against a test that called flunk. (floehopper)</p>
</li><li>
<p>Fixed rdoc bug preventing doco for some expectations. (stomar).</p>
</li></ul>
</li></ul>

<h3 id="label-3.2.0+-2F+2012-06-26">3.2.0 / 2012-06-26<span><a href="#label-3.2.0+-2F+2012-06-26">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Stubs now yield self. (peterhellberg)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed verbose test that only fails when run in verbose mode. mmmm irony.</p>
</li></ul>
</li></ul>

<h3 id="label-3.1.0+-2F+2012-06-13">3.1.0 / 2012-06-13<span><a href="#label-3.1.0+-2F+2012-06-13">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Removed LONG deprecated Unit.out accessor</p>
</li><li>
<p>Removed generated method name munging from minitest/spec. (ordinaryzelig/tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-3.0.1+-2F+2012-05-24">3.0.1 / 2012-05-24<span><a href="#label-3.0.1+-2F+2012-05-24">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>I’m a dumbass and refactored into Mock#call. Renamed to #__call so you can mock call. (mschuerig)</p>
</li></ul>
</li></ul>

<h3 id="label-3.0.0+-2F+2012-05-08">3.0.0 / 2012-05-08<span><a href="#label-3.0.0+-2F+2012-05-08">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 major enhancements:</p>
<ul><li>
<p>Added <a href="../Object.html#method-i-stub"><code>Object#stub</code></a> (in minitest/mock.rb).</p>
</li><li>
<p>Mock#expect mocks are used in the order they’re given.</p>
</li><li>
<p>Mock#verify now strictly compares against expect calls.</p>
</li></ul>
</li><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Added caller to deprecation message.</p>
</li><li>
<p>Mock error messages are much prettier.</p>
</li><li>
<p>Removed String check for RHS of assert/refute_match. This lets to_str work properly.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Support drive letter on Windows. Patch provided from MRI by Usaku NAKAMURA. (ayumin)</p>
</li></ul>
</li></ul>

<h3 id="label-2.12.1+-2F+2012-04-10">2.12.1 / 2012-04-10<span><a href="#label-2.12.1+-2F+2012-04-10">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added ruby releases to History.txt to make it easier to see what you’re missing</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Rolled my own deprecate msg to allow MT to work with rubygems &lt; 1.7</p>
</li></ul>
</li></ul>

<h3 id="label-2.12.0+-2F+2012-04-03">2.12.0 / 2012-04-03<span><a href="#label-2.12.0+-2F+2012-04-03">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>::it returns test method name (wojtekmach)</p>
</li><li>
<p>Added record method to runner so runner subclasses can cleanly gather data.</p>
</li><li>
<p>Added <a href="../Minitest.html"><code>Minitest</code></a> alias for MiniTest because even I forget.</p>
</li><li>
<p>Deprecated assert_block!! Yay!!!</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed warning in i_suck_and_my_tests_are_order_dependent! (phiggins)</p>
</li></ul>
</li></ul>

<h3 id="label-2.11.4+-2F+2012-03-20">2.11.4 / 2012-03-20<span><a href="#label-2.11.4+-2F+2012-03-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Updated known extensions</p>
</li><li>
<p>You got your unicode in my tests! You got your tests in my unicode! (fl00r)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed MiniTest::Mock example in the readme. (conradwt)</p>
</li></ul>
</li></ul>

<h3 id="label-2.11.3+-2F+2012-02-29">2.11.3 / 2012-02-29<span><a href="#label-2.11.3+-2F+2012-02-29">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Clarified that assert_raises returns the exception for further testing</p>
</li><li>
<p>Fixed assert_in_epsilon when both args are negative. (tamc)</p>
</li></ul>
</li></ul>

<h3 id="label-2.11.2+-2F+2012-02-14">2.11.2 / 2012-02-14<span><a href="#label-2.11.2+-2F+2012-02-14">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Display failures/errors on SIGINFO. (tenderlove)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed MiniTest::Unit.after_tests for Ruby 1.9.3. (ysbaddaden)</p>
</li></ul>
</li></ul>

<h3 id="label-2.11.1+-2F+2012-02-01">2.11.1 / 2012-02-01<span><a href="#label-2.11.1+-2F+2012-02-01">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Improved description for –name argument. (drd)</p>
</li><li>
<p>Ensure Mock#expect’s expected args is an Array. (mperham)</p>
</li><li>
<p>Ensure Mock#verify verifies multiple expects of the same method. (chastell)</p>
</li></ul>
</li></ul>

<h3 id="label-2.11.0+-2F+2012-01-25">2.11.0 / 2012-01-25<span><a href="#label-2.11.0+-2F+2012-01-25">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Added before / after hooks for setup and teardown. (tenderlove)</p>
</li><li>
<p>Pushed run_setup_hooks down to Spec. (tenderlove)</p>
</li></ul>
</li></ul>

<h3 id="label-2.10.1+-2F+2012-01-17">2.10.1 / 2012-01-17<span><a href="#label-2.10.1+-2F+2012-01-17">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed stupid 1.9 path handling grumble grumble. (graaff)</p>
</li></ul>
</li></ul>

<h3 id="label-2.10.0+-2F+2011-12-20">2.10.0 / 2011-12-20<span><a href="#label-2.10.0+-2F+2011-12-20">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 minor enhancements:</p>
<ul><li>
<p>Added specs for must/wont be_empty/respond_to/be_kind_of and others.</p>
</li><li>
<p>Added tests for assert/refute predicate.</p>
</li><li>
<p>Split minitest/excludes.rb out to its own gem.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed must_be_empty and wont_be_empty argument handling. (mrsimo)</p>
</li></ul>
</li></ul>

<h3 id="label-2.9.1+-2F+2011-12-13">2.9.1 / 2011-12-13<span><a href="#label-2.9.1+-2F+2011-12-13">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added a ton of tests on spec error message output.</p>
</li><li>
<p>Cleaned up consistency of msg handling on unary expectations.</p>
</li><li>
<p>Improved error messages on assert/refute_in_delta.</p>
</li><li>
<p>infect_an_assertion no longer checks arity and better handles args.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed error message on specs when 2+ args and custom message provided. (chastell)</p>
</li></ul>
</li></ul>

<h3 id="label-2.9.0+-2F+2011-12-07">2.9.0 / 2011-12-07<span><a href="#label-2.9.0+-2F+2011-12-07">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added TestCase.exclude and load_excludes for programmatic filtering of tests.</p>
</li><li>
<p>Added guard methods so you can cleanly skip based on platform/impl</p>
</li><li>
<p>Holy crap! 100% doco! ‘rdoc -C` ftw</p>
</li><li>
<p>Switch assert_output to test stderr before stdout to possibly improve debugging</p>
</li></ul>
</li></ul>

<h3 id="label-2.8.1+-2F+2011-11-17">2.8.1 / 2011-11-17<span><a href="#label-2.8.1+-2F+2011-11-17">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Ugh. 1.9’s test/unit violates my internals. Added const_missing.</p>
</li></ul>
</li></ul>

<h3 id="label-2.8.0+-2F+2011-11-08">2.8.0 / 2011-11-08<span><a href="#label-2.8.0+-2F+2011-11-08">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Add a  method so that code can be run around a particular test case (tenderlove)</p>
</li><li>
<p>Turn off backtrace filtering if we’re running inside a ruby checkout. (drbrain)</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fixed 2 typos and 2 doc glitches. (splattael)</p>
</li><li>
<p>Remove unused block arguments to avoid creating Proc objects. (k-tsj)</p>
</li></ul>
</li></ul>

<h3 id="label-2.7.0+-2F+2011-10-25">2.7.0 / 2011-10-25<span><a href="#label-2.7.0+-2F+2011-10-25">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Include failed values in the expected arg output in MockExpectationError. (nono)</p>
</li><li>
<p>Make minitest/pride work with other 256 color capable terms. (sunaku)</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Clarified the documentation of minitest/benchmark (eregon)</p>
</li><li>
<p>Fixed using expectations in regular unit tests. (sunaku)</p>
</li></ul>
</li></ul>

<h3 id="label-2.6.2+-2F+2011-10-19">2.6.2 / 2011-10-19<span><a href="#label-2.6.2+-2F+2011-10-19">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added link to vim bundle. (sunaku)</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Force gem activation in hoe minitest plugin</p>
</li><li>
<p>Support RUBY_VERSION=‘2.0.0’ (nagachika)</p>
</li></ul>
</li></ul>

<h3 id="label-2.6.1+-2F+2011-09-27">2.6.1 / 2011-09-27<span><a href="#label-2.6.1+-2F+2011-09-27">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Alias Spec.name from Spec.to_s so it works when @name is nil (nathany)</p>
</li><li>
<p>Fixed assert and refute_operator where second object has a bad == method.</p>
</li></ul>
</li></ul>

<h3 id="label-2.6.0+-2F+2011-09-13">2.6.0 / 2011-09-13<span><a href="#label-2.6.0+-2F+2011-09-13">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Added specify alias for it and made desc optional.</p>
</li><li>
<p>Spec#must_be and wont_be can be used with predicates (metaskills)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed Mock.respond_to?(var) to work with strings. (holli)</p>
</li></ul>
</li></ul>

<h3 id="label-2.5.1+-2F+2011-08-27+-2F-2F+ruby+1.9.3-3A+p0-2C+p125-2C+p34579">2.5.1 / 2011-08-27 // ruby 1.9.3: p0, p125, p34579<span><a href="#label-2.5.1+-2F+2011-08-27+-2F-2F+ruby+1.9.3-3A+p0-2C+p125-2C+p34579">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Added gem activation for minitest in minitest/autoload to help out 1.9 users</p>
</li><li>
<p>Extended Spec.register_spec_type to allow for procs instead of just regexps.</p>
</li></ul>
</li></ul>

<h3 id="label-2.5.0+-2F+2011-08-18">2.5.0 / 2011-08-18<span><a href="#label-2.5.0+-2F+2011-08-18">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added 2 more arguments against rspec: let &amp; subject in 9 loc! (emmanuel/luis)</p>
</li><li>
<p>Added TestCase.i_suck_and_my_tests_are_order_dependent!</p>
</li><li>
<p>Extended describe to take an optional method name (2 line change!). (emmanuel)</p>
</li><li>
<p>Refactored and extended minitest/pride to do full 256 color support. (lolcat)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Doc fixes. (chastell)</p>
</li></ul>
</li></ul>

<h3 id="label-2.4.0+-2F+2011-08-09">2.4.0 / 2011-08-09<span><a href="#label-2.4.0+-2F+2011-08-09">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added simple examples for all expectations.</p>
</li><li>
<p>Improved Mock error output when args mismatch.</p>
</li><li>
<p>Moved all expectations from <a href="../Object.html"><code>Object</code></a> to MiniTest::Expectations.</p>
</li><li>
<p>infect_with_assertions has been removed due to excessive clever</p>
</li></ul>
</li><li>
<p>4 bug fixes:</p>
<ul><li>
<p>Fix Assertions#mu_pp to deal with immutable encoded strings. (ferrous26)</p>
</li><li>
<p>Fix minitest/pride for MacRuby (ferrous26)</p>
</li><li>
<p>Made error output less fancy so it is more readable</p>
</li><li>
<p>Mock shouldn’t undef === and inspect. (dgraham)</p>
</li></ul>
</li></ul>

<h3 id="label-2.3.1+-2F+2011-06-22">2.3.1 / 2011-06-22<span><a href="#label-2.3.1+-2F+2011-06-22">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed minitest hoe plugin to be a spermy dep and not depend on itself.</p>
</li></ul>
</li></ul>

<h3 id="label-2.3.0+-2F+2011-06-15">2.3.0 / 2011-06-15<span><a href="#label-2.3.0+-2F+2011-06-15">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>5 minor enhancements:</p>
<ul><li>
<p>Add setup and teardown hooks to MiniTest::TestCase. (phiggins)</p>
</li><li>
<p>Added nicer error messages for MiniTest::Mock. (phiggins)</p>
</li><li>
<p>Allow for less specific expected arguments in Mock. (bhenderson/phiggins)</p>
</li><li>
<p>Made MiniTest::Mock a blank slate. (phiggins)</p>
</li><li>
<p>Refactored minitest/spec to use the hooks instead of define_inheritable_method. (phiggins)</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fixed TestCase’s inherited hook. (dchelimsky/phiggins/jamis, the ‘good’ neighbor)</p>
</li><li>
<p>MiniTest::Assertions#refute_empty should use mu_pp in the default message. (whatthejeff)</p>
</li></ul>
</li></ul>

<h3 id="label-2.2.2+-2F+2011-06-01">2.2.2 / 2011-06-01<span><a href="#label-2.2.2+-2F+2011-06-01">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Got rid of the trailing period in message for assert_equal. (tenderlove)</p>
</li><li>
<p>Windows needs more flushing. (Akio Tajima)</p>
</li></ul>
</li></ul>

<h3 id="label-2.2.1+-2F+2011-05-31">2.2.1 / 2011-05-31<span><a href="#label-2.2.1+-2F+2011-05-31">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>My <em>ONE</em> non-rubygems-using minitest user goes to Seattle.rb!</p>
</li></ul>
</li></ul>

<h3 id="label-2.2.0+-2F+2011-05-29">2.2.0 / 2011-05-29<span><a href="#label-2.2.0+-2F+2011-05-29">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>6 minor enhancements:</p>
<ul><li>
<p>assert_equal (and must_equal) now tries to diff output where it makes sense.</p>
<ul><li>
<p>Added Assertions#diff(exp, act) to be used by assert_equal.</p>
</li><li>
<p>Added Assertions#mu_pp_for_diff</p>
</li><li>
<p>Added Assertions.diff and diff=</p>
</li></ul>
</li><li>
<p>Moved minitest hoe-plugin from hoe-seattlerb. (erikh)</p>
</li><li>
<p>Skipped tests only output details in verbose mode. (tenderlove+zenspider=xoxo)</p>
</li></ul>
</li></ul>

<h3 id="label-2.1.0+-2F+2011-04-11">2.1.0 / 2011-04-11<span><a href="#label-2.1.0+-2F+2011-04-11">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>5 minor enhancements:</p>
<ul><li>
<p>Added MiniTest::Spec.register_spec_type(matcher, klass) and spec_type(desc)</p>
</li><li>
<p>Added ability for specs to share code via subclassing of Spec. (metaskills)</p>
</li><li>
<p>Clarified (or tried to) bench_performance_linear’s use of threshold.</p>
</li><li>
<p>MiniTest::Unit.runner=(runner) provides an easy way of creating custom test runners for specialized needs. (justinweiss)</p>
</li><li>
<p>Reverse order of inheritance in teardowns of specs. (deepfryed)</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>FINALLY fixed problems of inheriting specs in describe/it/describe scenario. (MGPalmer)</p>
</li><li>
<p>Fixed a new warning in 1.9.3.</p>
</li><li>
<p>Fixed assert_block’s message handling. (nobu)</p>
</li></ul>
</li></ul>

<h3 id="label-2.0.2+-2F+2010-12-24">2.0.2 / 2010-12-24<span><a href="#label-2.0.2+-2F+2010-12-24">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Completed doco on minitest/benchmark for specs.</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Benchmarks in specs that didn’t call bench_range would die. (zzak).</p>
</li></ul>
</li></ul>

<h3 id="label-2.0.1+-2F+2010-12-15">2.0.1 / 2010-12-15<span><a href="#label-2.0.1+-2F+2010-12-15">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Do not filter backtrace if $DEBUG</p>
</li><li>
<p>Exit autorun via nested at_exit handler, in case other libs call exit</p>
</li><li>
<p>Make options accesor lazy.</p>
</li><li>
<p>Split printing of test name and its time. (nurse)</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fix bug when ^T is hit before runner start</p>
</li></ul>
</li></ul>

<h3 id="label-2.0.0+-2F+2010-11-11">2.0.0 / 2010-11-11<span><a href="#label-2.0.0+-2F+2010-11-11">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 major enhancements:</p>
<ul><li>
<p>Added minitest/benchmark! Assert your performance! YAY!</p>
</li><li>
<p>Refactored runner to allow for more extensibility. See minitest/benchmark.</p>
</li><li>
<p>This makes the runner backwards incompatible in some ways!</p>
</li></ul>
</li><li>
<p>9 minor enhancements:</p>
<ul><li>
<p>Added MiniTest::Unit.after_tests { … }</p>
</li><li>
<p>Improved output by adding test rates and a more sortable verbose format</p>
</li><li>
<p>Improved readme based on feedback from others</p>
</li><li>
<p>Added io method to TestCase. If used, it’ll supplant ‘.EF’ output.</p>
</li><li>
<p>Refactored IO in MiniTest::Unit.</p>
</li><li>
<p>Refactored _run_anything to _run_suite to make it easier to wrap (ngauthier)</p>
</li><li>
<p>Spec class names are now the unmunged descriptions (btakita)</p>
</li><li>
<p>YAY for not having redundant rdoc/readmes!</p>
</li><li>
<p>Help output is now generated from the flags you passed straight up.</p>
</li></ul>
</li><li>
<p>4 bug fixes:</p>
<ul><li>
<p>Fixed scoping issue on minitest/mock (srbaker/prosperity)</p>
</li><li>
<p>Fixed some of the assertion default messages</p>
</li><li>
<p>Fixes autorun when on windows with ruby install on different drive (larsch)</p>
</li><li>
<p>Fixed rdoc output bug in spec.rb</p>
</li></ul>
</li></ul>

<h3 id="label-1.7.2+-2F+2010-09-23">1.7.2 / 2010-09-23<span><a href="#label-1.7.2+-2F+2010-09-23">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Fixed doco for expectations and Spec.</p>
</li><li>
<p>Fixed test_capture_io on 1.9.3+ (sora_h)</p>
</li><li>
<p>assert_raises now lets MiniTest::Skip through. (shyouhei)</p>
</li></ul>
</li></ul>

<h3 id="label-1.7.1+-2F+2010-09-01">1.7.1 / 2010-09-01<span><a href="#label-1.7.1+-2F+2010-09-01">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>1.9.2 fixes for spec tests</p>
</li></ul>
</li></ul>

<h3 id="label-1.7.0+-2F+2010-07-15">1.7.0 / 2010-07-15<span><a href="#label-1.7.0+-2F+2010-07-15">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>5 minor enhancements:</p>
<ul><li>
<p>Added assert_output (mapped to must_output).</p>
</li><li>
<p>Added assert_silent (mapped to must_be_silent).</p>
</li><li>
<p>Added examples to readme (Mike Dalessio)</p>
</li><li>
<p>Added options output at the top of the run, for fatal run debugging (tenderlove)</p>
</li><li>
<p>Spec’s describe method returns created class</p>
</li></ul>
</li></ul>

<h3 id="label-1.6.0+-2F+2010-03-27+-2F-2F+ruby+1.9.2-p290">1.6.0 / 2010-03-27 // ruby 1.9.2-p290<span><a href="#label-1.6.0+-2F+2010-03-27+-2F-2F+ruby+1.9.2-p290">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>10 minor enhancements:</p>
<ul><li>
<p>Added –seed argument so you can reproduce a random order for debugging.</p>
</li><li>
<p>Added documentation for assertions</p>
</li><li>
<p>Added more rdoc and tons of :nodoc:</p>
</li><li>
<p>Added output to give you all the options you need to reproduce that run.</p>
</li><li>
<p>Added proper argument parsing to minitest.</p>
</li><li>
<p>Added unique serial # to spec names so order can be preserved (needs tests). (phrogz)</p>
</li><li>
<p>Empty ‘it’ fails with default msg. (phrogz)</p>
</li><li>
<p>Remove previous method on expect to remove 1.9 warnings</p>
</li><li>
<p>Spec#it is now order-proof wrt subclasses/nested describes.</p>
</li><li>
<p>assert_same error message now reports in decimal, eg: oid=123. (mattkent)</p>
</li></ul>
</li><li>
<p>2 bug fixes:</p>
<ul><li>
<p>Fixed message on refute_same to be consistent with assert_same.</p>
</li><li>
<p>Fixed method randomization to be stable for testing.</p>
</li></ul>
</li></ul>

<h3 id="label-1.5.0+-2F+2010-01-06">1.5.0 / 2010-01-06<span><a href="#label-1.5.0+-2F+2010-01-06">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 minor enhancements:</p>
<ul><li>
<p>Added ability to specify what assertions should have their args flipped.</p>
</li><li>
<p>Don’t flip arguments on *include and *respond_to assertions.</p>
</li><li>
<p>Refactored Module.infect_an_assertion from Module.infect_with_assertions.</p>
</li><li>
<p>before/after :all now bitches and acts like :each</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Nested describes now map to nested test classes to avoid namespace collision.</p>
</li><li>
<p>Using undef_method instead of remove_method to clean out inherited specs.</p>
</li><li>
<p>assert_raises was ignoring passed in message.</p>
</li></ul>
</li></ul>

<h3 id="label-1.4.2+-2F+2009-06-25">1.4.2 / 2009-06-25<span><a href="#label-1.4.2+-2F+2009-06-25">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 bug fix:</p>
<ul><li>
<p>Fixed info handler for systems that don’t have siginfo.</p>
</li></ul>
</li></ul>

<h3 id="label-1.4.1+-2F+2009-06-23">1.4.1 / 2009-06-23<span><a href="#label-1.4.1+-2F+2009-06-23">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement:</p>
<ul><li>
<p>Handle ^C and other fatal exceptions by failing</p>
</li></ul>
</li><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added something to catch mixed use of test/unit and minitest if $DEBUG</p>
</li></ul>
</li><li>
<p>1 bug fix:</p>
<ul><li>
<p>Added SIGINFO handler for finding slow tests without verbose</p>
</li></ul>
</li></ul>

<h3 id="label-1.4.0+-2F+2009-06-18">1.4.0 / 2009-06-18<span><a href="#label-1.4.0+-2F+2009-06-18">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>5 minor enhancement:</p>
<ul><li>
<p>Added clarification doco.</p>
</li><li>
<p>Added specs and mocks to autorun.</p>
</li><li>
<p>Changed spec test class creation to be non-destructive.</p>
</li><li>
<p>Updated rakefile for new hoe capabilities.</p>
</li><li>
<p>describes are nestable (via subclass). before/after/def inherits, specs don’t.</p>
</li></ul>
</li><li>
<p>3 bug fixes:</p>
<ul><li>
<p>Fixed location on must/wont.</p>
</li><li>
<p>Switched to __name__ to avoid common ivar name.</p>
</li><li>
<p>Fixed indentation in test file (1.9).</p>
</li></ul>
</li></ul>

<h3 id="label-1.3.1+-2F+2009-01-20+-2F-2F+ruby+1.9.1-p431">1.3.1 / 2009-01-20 // ruby 1.9.1-p431<span><a href="#label-1.3.1+-2F+2009-01-20+-2F-2F+ruby+1.9.1-p431">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 minor enhancement:</p>
<ul><li>
<p>Added miniunit/autorun.rb as replacement for test/unit.rb’s autorun.</p>
</li></ul>
</li><li>
<p>16 bug fixes:</p>
<ul><li>
<p>1.9 test fixes.</p>
</li><li>
<p>Bug fixes from nobu and akira for really odd scenarios. They run ruby funny.</p>
</li><li>
<p>Fixed (assert|refute)_match’s argument order.</p>
</li><li>
<p>Fixed LocalJumpError in autorun if exception thrown before at_exit.</p>
</li><li>
<p>Fixed assert_in_delta (should be &gt;=, not &gt;).</p>
</li><li>
<p>Fixed assert_raises to match Modules.</p>
</li><li>
<p>Fixed capture_io to not dup IOs.</p>
</li><li>
<p>Fixed indentation of capture_io for ruby 1.9 warning.</p>
</li><li>
<p>Fixed location to deal better with custom assertions and load paths. (Yuki)</p>
</li><li>
<p>Fixed order of (must|wont)_include in MiniTest::Spec.</p>
</li><li>
<p>Fixed skip’s backtrace.</p>
</li><li>
<p>Got arg order wrong in *_match in tests, message wrong as a result.</p>
</li><li>
<p>Made describe private. For some reason I thought that an attribute of <a href="../Kernel.html"><code>Kernel</code></a>.</p>
</li><li>
<p>Removed disable_autorun method, added autorun.rb instead.</p>
</li><li>
<p>assert_match escapes if passed string for pattern.</p>
</li><li>
<p>instance_of? is different from ===, use instance_of.</p>
</li></ul>
</li></ul>

<h3 id="label-1.3.0+-2F+2008-10-09">1.3.0 / 2008-10-09<span><a href="#label-1.3.0+-2F+2008-10-09">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 major enhancements:</p>
<ul><li>
<p>renamed to minitest and pulled out test/unit compatibility.</p>
</li><li>
<p>mini/test.rb is now minitest/unit.rb, everything else maps directly.</p>
</li></ul>
</li><li>
<p>12 minor enhancements:</p>
<ul><li>
<p>assert_match now checks that act can call =~ and converts exp to a regexp only if needed.</p>
</li><li>
<p>Added assert_send… seems useless to me tho.</p>
</li><li>
<p>message now forces to string… ruby-core likes to pass classes and arrays :(</p>
</li><li>
<p>Added -v handling and switched to @verbose from $DEBUG.</p>
</li><li>
<p>Verbose output now includes test class name and adds a sortable running time!</p>
</li><li>
<p>Switched message generation into procs for message deferment.</p>
</li><li>
<p>Added skip and renamed fail to flunk.</p>
</li><li>
<p>Improved output failure messages for assert_instance_of, assert_kind_of</p>
</li><li>
<p>Improved output for assert_respond_to, assert_same.</p>
</li><li>
<p>at_exit now exits false instead of errors+failures.</p>
</li><li>
<p>Made the tests happier and more readable imhfo.</p>
</li><li>
<p>Switched index(s) == 0 to rindex(s, 0) on nobu’s suggestion. Faster.</p>
</li></ul>
</li><li>
<p>5 bug fixes:</p>
<ul><li>
<p>1.9: Added encoding normalization in mu_pp.</p>
</li><li>
<p>1.9: Fixed backtrace filtering (BTs are expanded now)</p>
</li><li>
<p>Added back exception_details to assert_raises. DOH.</p>
</li><li>
<p>Fixed shadowed variable in mock.rb</p>
</li><li>
<p>Fixed stupid muscle memory message bug in assert_send.</p>
</li></ul>
</li></ul>

<h3 id="label-1.2.1+-2F+2008-06-10">1.2.1 / 2008-06-10<span><a href="#label-1.2.1+-2F+2008-06-10">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>7 minor enhancements:</p>
<ul><li>
<p>Added deprecations everywhere in test/unit.</p>
</li><li>
<p>Added test_order to TestCase. :random on mini, :sorted on test/unit (for now).</p>
</li><li>
<p>Big cleanup in test/unit for rails. Thanks Jeremy Kemper!</p>
</li><li>
<p>Minor readability cleanup.</p>
</li><li>
<p>Pushed setup/run/teardown down to testcase allowing specialized testcases.</p>
</li><li>
<p>Removed pp. Tests run 2x faster. :/</p>
</li><li>
<p>Renamed deprecation methods and moved to test/unit/deprecate.rb.</p>
</li></ul>
</li></ul>

<h3 id="label-1.2.0+-2F+2008-06-09">1.2.0 / 2008-06-09<span><a href="#label-1.2.0+-2F+2008-06-09">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>2 major enhancements:</p>
<ul><li>
<p>Added Mini::Spec.</p>
</li><li>
<p>Added Mini::Mock. Thanks Steven Baker!!</p>
</li></ul>
</li><li>
<p>23 minor enhancements:</p>
<ul><li>
<p>Added bin/use_miniunit to make it easy to test out miniunit.</p>
</li><li>
<p>Added -n filtering, thanks to Phil Hagelberg!</p>
</li><li>
<p>Added args argument to run, takes ARGV from at_exit.</p>
</li><li>
<p>Added test name output if $DEBUG.</p>
</li><li>
<p>Added a refute (was deny) for every assert.</p>
</li><li>
<p>Added capture_io and a bunch of nice assertions from zentest.</p>
</li><li>
<p>Added deprecation mechanism for assert_no/not methods to test/unit/assertions.</p>
</li><li>
<p>Added pp output when available.</p>
</li><li>
<p>Added tests for all assertions. Pretty much maxed out coverage.</p>
</li><li>
<p>Added tests to verify consistency and good naming.</p>
</li><li>
<p>Aliased and deprecated all ugly assertions.</p>
</li><li>
<p>Cleaned out test/unit. Moved autorun there.</p>
</li><li>
<p>Code cleanup to make extensions easier. Thanks Chad!</p>
</li><li>
<p>Got spec args reversed in all but a couple assertions. Much more readable.</p>
</li><li>
<p>Improved error messages across the board. Adds your message to the default.</p>
</li><li>
<p>Moved into Mini namespace, renamed to Mini::Test and Mini::Spec.</p>
</li><li>
<p>Pulled the assertions into their own module…</p>
</li><li>
<p>Removed as much code as I could while still maintaining full functionality.</p>
<ul><li>
<p>Moved filter_backtrace into MiniTest.</p>
</li><li>
<p>Removed MiniTest::Unit::run. Unnecessary.</p>
</li><li>
<p>Removed location_of_failure. Unnecessary.</p>
</li><li>
<p>Rewrote test/unit’s filter_backtrace. Flog from 37.0 to 18.1</p>
</li></ul>
</li><li>
<p>Removed assert_send. Google says it is never used.</p>
</li><li>
<p>Renamed MiniTest::Unit.autotest to run.</p>
</li><li>
<p>Renamed deny to refute.</p>
</li><li>
<p>Rewrote some ugly/confusing default assertion messages.</p>
</li><li>
<p>assert_in_delta now defaults to 0.001 precision. Makes specs prettier.</p>
</li></ul>
</li><li>
<p>9 bug fixes:</p>
<ul><li>
<p>Fixed assert_raises to raise outside of the inner-begin/rescue.</p>
</li><li>
<p>Fixed for ruby 1.9 and rubinius.</p>
</li><li>
<p>No longer exits 0 if exception in code PRE-test run causes early exit.</p>
</li><li>
<p>Removed implementors method list from mini/test.rb - too stale.</p>
</li><li>
<p>assert_nothing_raised takes a class as an arg. wtf? STUPID</p>
</li><li>
<p>“.EF” output is now unbuffered.</p>
</li><li>
<p>Bunch of changes to get working with rails… UGH.</p>
<ul><li>
<p>Added stupid hacks to deal with rails not requiring their dependencies.</p>
</li><li>
<p>Now bitch loudly if someone defines one of my classes instead of requiring.</p>
</li></ul>
</li><li>
<p>Fixed infect method to work better on 1.9.</p>
</li><li>
<p>Fixed all shadowed variable warnings in 1.9.</p>
</li></ul>
</li></ul>

<h3 id="label-1.1.0+-2F+2007-11-08">1.1.0 / 2007-11-08<span><a href="#label-1.1.0+-2F+2007-11-08">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>4 major enhancements:</p>
<ul><li>
<p>Finished writing all missing assertions.</p>
</li><li>
<p>Output matches original test/unit.</p>
</li><li>
<p>Documented every method needed by language implementor.</p>
</li><li>
<p>Fully switched over to self-testing setup.</p>
</li></ul>
</li><li>
<p>2 minor enhancements:</p>
<ul><li>
<p>Added deny (assert ! test), our favorite extension to test/unit.</p>
</li><li>
<p>Added .autotest and fairly complete unit tests. (thanks Chad for help here)</p>
</li></ul>
</li></ul>

<h3 id="label-1.0.0+-2F+2006-10-30">1.0.0 / 2006-10-30<span><a href="#label-1.0.0+-2F+2006-10-30">&para;</a> <a href="#top">&uarr;</a></span></h3>
<ul><li>
<p>1 major enhancement</p>
<ul><li>
<p>Birthday!</p>
</li></ul>
</li></ul>

</main>

</div>  <!--  class='wrapper hdiv' -->


<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a></p>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.</p>
<p>Based on <a href="https://github.com/ged/darkfish/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.</p>

  
    <p><p><a href="https://ruby-doc.org">Ruby-doc.org</a> is provided by <a href="https://jamesbritt.com">James Britt</a> and <a href="https://neurogami.com">Neurogami</a>.</p><p><a href="https://jamesbritt.bandcamp.com/">Maximum R+D</a>.  </p>
</p>
  
  </footer>

<script type="text/javascript">


  let ads  = $("#carbonads-container").children().detach();


  function swapMode() {
    var cookieName = 'darkmode';
    var cssDarkmode = Cookies.get(cookieName);
    console.log("***** swapMode! " + cssDarkmode + " *****");


    if (cssDarkmode == "true") {
      console.log("We have dark mode, set the css to light ...");
      $('#rdoccss').attr("href", defaultModeCssHref);
      $('#cssSelect').text("Dark mode");
      cssDarkmode = "false";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    } else {
      console.log("We not have dark mode, set the css to dark ...");
      $('#rdoccss').attr("href", darkModeCsseHref);
      $('#cssSelect').text("Light mode");
      cssDarkmode = "true";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    }

    console.log("  --------------- ");
  }


const vueCssApp = new Vue({
el: '#menubar',
data: {
isDark: false
},
methods: {
toggleClass: function(event){
this.isDark = !this.isDark;
}
}
})

const vueApp = new Vue({
el: '#vapp',
data: { 
isOpen: true
},

mounted() {
this.handleResize();
this.manage_mob_classes();
window.addEventListener('resize', this.handleResize)
//this.isOpen !=  (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},
destroyed() {
window.removeEventListener('resize', this.handleResize)
},
created() {
//manage_mob_classes();
},

methods : {
isMobile() {
  return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},

  handleResize() {
    if (!this.isMobile()) {
      this.isOpen = window.innerWidth > 800;
    }
  },

  manage_mob_classes() {
    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
      $("nav").addClass("mob_nav");
      $("main").addClass("mob_main");
      $("#extraz").addClass("mob_extraz");
      $("#carbonads-container").addClass("mob_carbonads-container");
      this.isOpen  = false;
    } else {
      $("nav").removeClass("mob_nav") 
        $("main").removeClass("mob_main");
      $("#extraz").removeClass("mob_extraz");
      $("#carbonads-container").removeClass("mob_carbonads-container");
      this.isOpen  = true;
    }
  },

  toggleNav() {
    this.isOpen =! this.isOpen ;
    // alert("Toggle nav!");
    console.log("toggleNav() click: " + this.isOpen );
  }
}
})

$("#carbonads-container").append(ads);


$(function() {

    var darkmode = Cookies.get("darkmode");
    console.log("Document ready: " + darkmode);

    if ( darkmode  == "true" ) {
      $('#cssSelect').text("Light mode");
    } else {
      $('#cssSelect').text("Dark mode");
     }

    $('body').css('display','block');
    });

</script>

    
  </body> 
</html>

